发布日期:2013-09-05
更新日期:2013-09-07
受影响系统:
Android Android < 4.2
描述:
--------------------------------------------------------------------------------
Android的SDK中提供了一个WebView组件,用于在应用中嵌入一个浏览器来进行网页浏览。WebView组件中的addJavascriptInterface方法用于实现本地Java和JavaScript的交互。
WebView组件中的接口函数addJavascriptInterface存在远程代码执行漏洞,远程攻击者利用此漏洞能实现本地java和js的交互,可对Android移动终端进行网页挂马从而控制受影响设备。
链接: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。: