首页 -> 安全研究

安全研究

安全漏洞
Android WebView组件addJavascriptInterface方法远程命令执行漏洞

发布日期:2013-09-05
更新日期:2013-09-06

受影响系统:
Android Android < 4.2
描述:
Android的SDK中提供了一个WebView组件,用于在应用中嵌入一个浏览器来进行网页浏览。WebView组件中的addJavascriptInterface方法用于实现本地Java和JavaScript的交互。

WebView组件中的接口函数addJavascriptInterface存在远程代码执行漏洞,远程攻击者利用此漏洞能实现本地java和js的交互,可对Android移动终端进行网页挂马从而控制受影响设备。

<*来源:vendor
  
  链接:http://50.56.33.56/blog/?p=314
        http://drops.wooyun.org/papers/548
        http://developer.android.com/reference/android/webkit/WebView.html#addJavascriptInterface%28java.lang.Object
*>

建议:
临时解决方法:

对于应用厂商:

<1> 确保只在访问可信页面数据时才使用addjavascriptInterface。
<2> 在调用Java对象方法前对参数进行检查,避免执行恶意操作。
<3> 对于在4.2(API 17+)系统运行的应用,使用JavascriptInterface代替addjavascriptInterface。
<4> 限制对于该接口的使用来源,只允许可信来源访问该接口。例如使用WebViewClient中的shouldOverrideUrlLoading()来对加载的URL进行检查。

对于终端用户:

<1> 关注应用厂商更新情况,尽快升级应用程序到最新版本。
<2> 在厂商修补前,用户应尽量避免使用应用浏览不可信的网页链接和邮件。

厂商补丁:

Android
-------
Android官方已提醒此功能是有安全风险的,在可能访问不可信网页内容时需要小心处理。
Android 4.2 (api 17)已经开始采用JavascriptInterface代替addjavascriptInterface。:

http://www.openhandsetalliance.com/android_overview.html

浏览次数:4028
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障