设计的时候别绕了,没发现绕了半天跑回起点了吗,说是bypass,其实利用设计上的漏洞
跨域会报错:Blocked a frame with origin "xxxxx" from accessing
1.这个漏洞,利用的是
contentWindow
2.这个函数可以让父窗口获取子窗口的内容,但是前提是同个域,这里举个例子就是,我可以从人人网校园,获取人人网用户个人中心的内容,如图
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弹出来了,没有去弄数组遍历了)
---------------------------------------------------------------------------------------
6 .接下来就是,如何跨域,这个接口
http://webpager.renren.com/api/getChatList?lt=15&st=0&type=0&roomId=874460788
属于webpager.renren.com域,如果获取内容会报错
,因为http://st.renren.com/属于renren.com域
----------------------------------------------------------------------------------------------
7.但是在用户个人中心,存在一个地址,之后发现,这个地址属于renren.com域名,
http://webpager.renren.com/api/ime.jsp
-------------------------------------------------------------------------------------------------
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域的聊天内容了
①.
1.漏洞证明你看上面
2.用偶像的话说,这个时候结果已经不重要了
1.域之间最好相互隔开,不然坑的是自己
2.我小白,你们比较厉害