Android常见安全风险点之webview使用addJavascriptInterface风险

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

确保只在访问可信页面数据时才使用addjavascriptInterface调用java对象方法前对参数进行检查,避免执行恶意操作。
对于4.2以上android系统应用,使用@JavascriptInterface代替addjavascriptInterface限制对于该接口的使用来源,只允许可信来源访问该接口,例如使用WebViewClient中的shouldOverrideUrlLoading()来对加载的url进行检查。

相关推荐:
在manifest文件中加上:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> …
当系统辅助功能中的任意一项服务被开启后,所有由系统提供的WebView都会被加入两个JS objects,分别为是”accessibility” 和 “accessibilityTraversal”,如果应用使用了系统的WebView,并且设置了setJavaScriptEnable …
忘记加载activity的layout文件:setContentView(R.layout.main); …
使用SecureRandom时不要使用SecureRandom (byte[] seed)这个构造函数,会造成生成的随机数不随机。 建议通过/dev/urandom或者/dev/random获取的熵值来初始化伪随机数生成器PRNG。 …
使用Webview时需要关闭webview的自动保存密码功能,防止用户密码被webview明文存储。 设置webView.getSettings().setSavePassword(false)即可。 …
拿起手机扫一扫即可带走我!