Android WebView组件addJavascriptInterface方法远程命令执

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

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

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

<*来源:vendor
 
  链接:?p=314
       
        #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.heiqu.com/388ea97009cd23df2dd2796aa174a989.html