好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

UC浏览器跨本地域XSS可盗取任意域Cookie - 网站安

低版本的UC浏览器可以随意跨域。但高版本的做了加强了安全性,基本满足了同源策略的要求。然而一个意外的跨本地域的XSS又使得这些安全措施化为乌有....

测试版本:8.7.4.225

 

本 漏洞 可分为两个部分:

 

1.跨本地xss,可让http->file:

 

2.本地可向远程注入js。file->http。

 

第一个弱点:

 

在恶意页面构造如下代码:

 

xss.html

 

 

<a href='1.apk#"</a><script>alert(55)</script><!–-'>下一页<a>

注意:1.apk是一个可以 下载 的文件。

 

用户点击这个链接后就会自动跳转到下载页面(如果开启了wifi优化或预读动能就无需用户点击,自动会跳转),从而触发了XSS。这个下载页面其实是本地存在的一个XHTML,这个文件路径如下:

 

/data/data/com.UCMobile/downloadsafe/predownloadpage.x html

 

在下载文件时,uc会修改这个xhtml,将文件名等信息写入里面,过滤不严,造成了xss。

 

所以这个xss具备本地域的权限。

 

 

 

第二个弱点:

 

inject.html

 

 

<script>function inject(){ var d = document.getElementById("hi").contentDocument || document.getElementById("hi").contentWindow.document alert(d.cookie); } document.write("<iframe id=hi src=http://mail.qq测试数据 onload=inject()></iframe>") </script>

 

 

如此就可以读取qq邮箱的cookie了。

 

 

 

将这两个弱点结合起来,就能达到如标题所述的目的了。

 

 

拿出我的大华为P1,远程访问一个xss.html,其中[下一页]就是构造的恶意链接。

 

点击[下一页],弹出了框,框框标题上写的是file,由此证明了是本地域。

 

 

 

弱点一证明完成。

 

 

 

访问本地的inject.html,以本地域的权限执行payload,弹出框框,上面都是我qq邮箱的cookie,弱点二证明完成

 

 

 

 

 

最后,写点题外话,祝福我将要出生的宝宝身体健康,活泼聪明~~!

 

 

修复方案: 过滤尖括号 

 

查看更多关于UC浏览器跨本地域XSS可盗取任意域Cookie - 网站安的详细内容...

  阅读:69次