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

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

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

相关推荐:
使用Webview时需要关闭webview的自动保存密码功能,防止用户密码被webview明文存储。 设置webView.getSettings().setSavePassword(false)即可。
当这个标志被设置为true或不设置该标志时应用程序数据可以备份和恢复,adb调试备份允许恶意攻击者复制应用程序数据。 在AndroidManifest.xml中设置android:allowBackup=\"false\"。
所谓的粘性广播就是指发出的广播内容会一直在系统滞留,如果有敏感信息,会被其他恶意应用获取。 开发中尽量不要使用sendStickyBroadcast方法,或者使用后调用removeStickyBroadcast()删除。
Android 编译时出现“finished with non-zero exit value”,这是怎么了?一直找不到原因所在,搞得整个项目都跨了。 尝试恢复解决: 1.想想你刚刚动了啥导致的?如果可以,请备份后回退到之前的状态,试着看 …
该风险可能产生恶意发送广播,拦截有序广播。 如果它们只被同一个软件中的代码调用,将broadcast属性改为android:exported="false",如果组件需要对外暴露,应该通过自定义权限限制对它的调用。
拿起手机扫一扫即可带走我!