来源:自学PHP网 时间:2015-04-17 12:00 作者: 阅读:次
[导读] 人人网某处限制存在问题,导致内网信息泄露以及主站任意文件读取。人人网首页分享功能:分享127.0.0.1,出现如下这段话你的浏览器不支持javascript,这会导致你不能正常使用人人,...
人人网某处限制存在问题,导致内网信息泄露以及主站任意文件读取。
人人网首页分享功能:
分享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:// www.2cto.com 来试探内网的匿名FTP。但这不是重点,重点是curl还支持本地文件协议file://,截图如下:
root!
修复建议:
1、限制url不能为内网地址
2、限制只能为http、https协议
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com