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

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

缺陷编号:wooyun-2015-0146561

漏洞标题:链家地产某站修复后再次getshell到简单内网漫游(修复不彻底)

相关厂商:homelink.com.cn

漏洞作者: PythonPig

提交时间:2015-10-14 00:39

修复时间:2015-10-19 00:40

公开时间:2015-10-19 00:40

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

危害等级:高

自评Rank:15

漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-10-14: 细节已通知厂商并且等待厂商处理中
2015-10-19: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

今天晚上没啥事,手贱测试了下前段时间提交的一个漏洞

详细说明:

上一个上传绕过漏洞链家已经修复,因为是“再次绕过上传验证”,所以这里先回顾一下上次是如何“绕过上传验证”的。
在漏洞 WooYun: 链家地产某站getshell到简单内网漫游 中,后台程序检测post中的参数type是否为image,若是,则对用户上传文件的后缀进行检测,绕过方法为直接把type清空,就可以绕过上传了。
但是修复后这个方法就不可行了。
修复后的“再次绕过上传验证”过程是这样的:
上传图片马,burp抓包修改后缀为.jsp,绕过js检测,同时把post中的参数type清空,上传,失败,如图

上传1副本.jpg


上传图片马,burp抓包修改后缀为.jsp,绕过js检测,同时把post中的参数type改为image,上传,又失败,如图

上传2副本.jpg


上次拿到shell以后,记得upload中除了有image文件夹,还有file文件夹,因此,这里尝试把type改为file。
上传图片马,burp抓包修改后缀为.jsp,绕过js检测,同时把post中的参数type改为file,上传,还是失败,如图

上传3副本.jpg


经过多次测试,最终发现,修复后的网站这里的type必须为image,否则上传失败。那我们就必须换个思路来绕过了。
猜测:如果我是程序员,我会如何检测用户上传文件是否合法?首先使用白名单过滤后缀,如何提取后缀成为了关键。通过split以“.”来分隔文件名得到一个字符串数组。如果程序员疏忽,默认该数组只会有两个元素,因此取该数组中的第二个元素作为后缀进行检测,类似这种:filetype = file.split("\\.")[1],那就可能可以上传任意文件了。
若要成功利用,还有一个条件:上传后的文件直接进行了保存,没有重命名。
验证:上传图片马,burp抓包修改文件名为adminjsp.jpg.jsp,但是不修改post中的参数type,使type为默认的image ,上传,成功,猜测正确。如图

上传副本.jpg


上刀看看系统参数

ifconfig.JPG


有内网ip,那就简单测试下内网其他存活的主机吧。
根据以前对链家内网的测试,172.165.0.0/21网段都可以访问,这里简单的贴几张内网系统的图吧

内网3.JPG


内网2.JPG


点到为止

漏洞证明:

见 详细说明

修复方案:

1、修改get filetype的方法
2、重命名上传后的文件

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


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2015-10-19 00:40

厂商回复:

漏洞Rank:15 (WooYun评价)

最新状态:

暂无