漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2012-013351
漏洞标题:人人网内网信息泄露+主站任意文件读取
相关厂商:人人网
漏洞作者: pysolve
提交时间:2012-10-14 20:57
修复时间:2012-11-28 20:57
公开时间:2012-11-28 20:57
漏洞类型:敏感信息泄露
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2012-10-14: 细节已通知厂商并且等待厂商处理中
2012-10-19: 厂商已经确认,细节仅向厂商公开
2012-10-29: 细节向核心白帽子及相关领域专家公开
2012-11-08: 细节向普通白帽子公开
2012-11-18: 细节向实习白帽子公开
2012-11-28: 细节向公众公开
简要描述:
剑总说不和没乌云币的人说话,为了找剑总办事,我只好来提交漏洞了。= =、
人人网某处限制存在问题,导致内网信息泄露以及主站任意文件读取。
详细说明:
Author:pysolve
人人网首页分享功能:
分享127.0.0.1,出现如下这段话“你的浏览器不支持javascript,这会导致你不能正常使用人人, 点击这里 ,教你调整你的浏览器。……”
从上图可以得出:
1、可以输入127.0.0.1分享并且分享成功。
2、猜测链接预览功能是后端采用了curlib库或类似的来实现的,取回response内容,然后反馈给用。由于不是浏览器,所以不支持js,触发<noscript>标签,也就有了上图这段话。
由此可以产生一个
内网信息泄露漏洞:
分享内网的ip地址,如果该ip开放了web服务的话,通过链接预览就产生了信息泄
露。
毕竟内网ip段太广,我们直接用js来实现一个“扫描器”来扫描(代码略)。效果如下:
内网信息泄露的部分截图如下:
为避免信息再次泄露,图中ip地址已打码,但从172.21和172.18可以判断出确实是为内网ip。
继续发散思路:
1、内网中可能会有一些重要的web系统不加任何验证,我们在找到一个ip后,提交http://172.xx.xx.xx/admin.do http://172.xx.xx.xx:8080等等来试探是否还有信息泄露。
例如上面的case,通过提交http://172.18.xx.xx/web/device/login?lang=1返回的信息可以判断出是H3C的web端
而如果此web端有认证绕过或其他的漏洞的话,则又会泄露更多的信息。
主站任意文件读取:
上面我们猜测后端调用了curlib或类似的方法来实现链接预览,而curl是支持多种协议的,不仅仅是HTTP、HTTPS,比如ftp。恰恰人人网链接预览这里对协议没做限制就交给后端处理了,所以我们还可以通过构造ftp://xx.xx.xx.xx来试探内网的匿名FTP。但这不是重点,重点是curl还支持本地文件协议file://,截图如下:
root!
漏洞证明:
见上!
修复方案:
修复建议:
1、限制url不能为内网地址
2、限制只能为http、https协议
版权声明:转载请注明来源 pysolve@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:12
确认时间:2012-10-19 10:00
厂商回复:
添加对漏洞的补充说明以及做出评价的理由
最新状态:
暂无