漏洞详情

披露状态:

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

简要描述:

凡客诚品某站存在多个问题,差点getshell成功。

详细说明:

凡客诚品某站存在解析漏洞,可能导致getshell。
http://ir.vancl.com/
此站存在多个问题:
1.远程获取图片功能可探内网。

1.png


由于没有做好有效的隔离,此功能可用来探测内网web开放状态、本机指定文件是否存在、内网FTP密码爆破。
我们具体来看,内网web开放状态,将图片地址填写内网地址然后用burp即可批量探测。
证明:

2.png


3.png


返回400字节的状态码404,说明内网对应服务器的80端口web服务开放。
同理也可探测其它端口。

4.png


5.png


可探测本地文件。由于url格式没有进行限制,此功能也可探测该服务器文件存在状态。
证明:

6.png


我们输入不存在的文件名,返回not found。

7.png


输入应该存在的文件名,返回溢出。
爆破内网FTP。因为url支持ftp格式,所以可以利用来爆破内网FTP密码。

20.png


2.解析漏洞+上传点可能导致getshell。
经过检测,此站存在解析漏洞。

8.png


并且有一个上传点,且图片保存到该服务器上。

9.png


11.png


那么我们只要在图片内插入恶意代码,即可执行。
但是这里有个问题,无论上传什么图片,都会在保存前转码为特定png图像,所以我们构造的恶意代码也会被冲掉。
在这里,我翻阅了一些资料,发现国外有利用PNG的结构IDAT chunks填充一句话webshell的技术。
但是png图像类型也分为多种,他研究的png和这个实例的不同,所以无法将他的poc应用到这里。
不过依然能够证明通过这个方法getshell此服务器,是可能的。
详情可以参考乌云小伙伴的讨论:
http://zone.wooyun.org/content/5429
http://zone.wooyun.org/content/1284

漏洞证明:

2.png


3.png


4.png


5.png


7.png


11.png


修复方案:

·理论上修复php解析漏洞即可。

标签: none

评论已关闭