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

利用人人设计缺陷劫持用户私信内容(绕过跨域策略/bypass)

编号174188
Urlhttp://www.wooyun.org/bug.php?action=view&id=174188
漏洞状态厂商已经确认
漏洞标题利用人人设计缺陷劫持用户私信内容(绕过跨域策略/bypass)
漏洞类型设计缺陷/逻辑错误
厂商人人网
白帽子q601333824
提交日期2016-02-01 14:53:00
公开日期2016-03-14 15:10:00
修复时间(not set)
确认时间2016-02-01 00:00:00
Confirm Spend0
漏洞标签设计缺陷/边界绕过 逻辑错误 设计不当 设计错误 设计缺陷
关注数0
收藏数0
白帽评级
白帽自评rank5
厂商评级
厂商评rank8
漏洞简介
设计的时候别绕了,没发现绕了半天跑回起点了吗,说是bypass,其实利用设计上的漏洞
 跨域会报错:Blocked a frame with origin "xxxxx" from accessing 
漏洞细节


1.这个漏洞,利用的是

contentWindow


2.这个函数可以让父窗口获取子窗口的内容,但是前提是同个域,这里举个例子就是,我可以从人人网校园,获取人人网用户个人中心的内容,如图

3.png


3.至于XSS,找到一个去年虽然不知道是谁提交但是未修复的XSS
WooYun: 人人网分站再爆xss漏洞一枚
-------------------------------------------------------------------------------------
4.获取用户聊天信息的接口

http://webpager.renren.com/api/getChatList?lt=15&st=0&type=0&roomId=874460788


5.这个接口的roomId,代表用户聊天的对象,只要把data-id 遍历出来就行了(这里我就把整个body弹出来了,没有去弄数组遍历了)

4.png


ffffffff.png


---------------------------------------------------------------------------------------
6 .接下来就是,如何跨域,这个接口

http://webpager.renren.com/api/getChatList?lt=15&st=0&type=0&roomId=874460788


属于webpager.renren.com域,如果获取内容会报错

,因为http://st.renren.com/属于renren.com域

2.png



1.png


----------------------------------------------------------------------------------------------

7.但是在用户个人中心,存在一个地址,之后发现,这个地址属于renren.com域名,

http://webpager.renren.com/api/ime.jsp


aaaaaaaaaaaaaa.png


asdasdsadasd.png


-------------------------------------------------------------------------------------------------
8.觉得上面乱的话,我整理一下逻辑上面就是

①.

http://webpager.renren.com/api/ime.jsp

属于renren.com域
②.

http://webpager.renren.com/api/getChatList?lt=15&st=0&type=0&roomId=874460788

属于webpager.renren.com域

-------------------------------------------------------------------------------------------
9.这个时候设计上的缺陷也就出来了

http://st.renren.com/

(这个属于renren.com域,存在XSS漏洞)
               ↓

http://www.renren.com/

(这个属于renren.com域)
               ↓

③.

http://webpager.renren.com/api/ime.jsp

属于renren.com域
               ↓

④.

http://webpager.renren.com/api/getChatList?lt=15&st=0&type=0&roomId=874460788

属于webpager.renren.com域
--------------------------------------------------------------------------------------

10.因为document.domain 是可以设置自己本身域,还有基础域,也就是说
①.

http://st.renren.com/

http://www.renren.com/

可以相互通信
②.

http://webpager.renren.com/api/ime.jsp

http://webpager.renren.com/api/getChatList?lt=15&st=0&type=0&roomId=874460788

可以相互通信
③.又因为

http://www.renren.com/

http://webpager.renren.com/api/ime.jsp

可以相互通信
④.换句话就是说,

http://st.renren.com/

http://webpager.renren.com/api/getChatList?lt=15&st=0&type=0&roomId=874460788

可以相互通信
---------------------------------------------------------------------------------------------
11.自己的总结就是,

http://st.renren.com/

借助,

http://www.renren.com/

,再借助

http://webpager.renren.com/api/ime.jsp

http://webpager.renren.com/api/getChatList?lt=15&st=0&type=0&roomId=874460788

进行通信
12.所以,这种设计,

http://st.renren.com/

可以被绕过和

http://webpager.renren.com/api/getChatList?lt=15&st=0&type=0&roomId=874460788

通信
----------------------------------------------------------------------------------------------
13.下面是测试截图,直接获取webpager.renren.com域的聊天内容了
①.

csol.png




POC


1.漏洞证明你看上面
2.用偶像的话说,这个时候结果已经不重要了

修复方案


1.域之间最好相互隔开,不然坑的是自己
2.我小白,你们比较厉害

状态信息 2016-02-01: 细节已通知厂商并且等待厂商处理中
2016-02-01: 厂商已经确认,细节仅向厂商公开
2016-02-11: 细节向核心白帽子及相关领域专家公开
2016-02-21: 细节向普通白帽子公开
2016-03-02: 细节向实习白帽子公开
2016-03-14: 细节向公众公开
厂商回复谢谢提醒,非常感谢!
回应信息危害等级:中漏洞Rank:8 确认时间:2016-02-01 17:37
Showing 1-3 of 3 items.
评论内容评论人点赞数评论时间

--------------------------------------------------------------(分割线,别捣乱)投了简历,如果面试问这个,上面就是回答

q60133382402016-02-26 11:05:00

方法就是借打电话给别人的例子,中转一下 举个例子就是:虽然A不信任C,但是B信任C,同时A信任B,那结果就是A间接信任C,这个就是例子只要这些条件凑齐就能bypass掉

q60133382402016-02-26 10:38:00

凑齐了

q60133382402016-02-01 17:47:00