Android安全--webview远程代码执行漏洞
来源:互联网 发布:什么下载软件 编辑:程序博客网 时间:2024/06/05 14:10
说明
Android API level 16以及之前的版本存在远程代码执行安全漏洞,源于程序没有正确限制WebView.addJavascriptInterface方法,攻击者可以利用Java Reflection API 执行任意Java对象的方法。最早公布 CVE-2012-6636【1】。
影响范围
Android API level 小于17(android 4.2以前的系统)
漏洞位置
WebView.addJavascriptInterface(Object obj,String interfaceName);
前提条件
android version<4.2
使用addJavascriptInterface方法注册可供JavaScript调用的JAVA对象
修复建议
- API Level 依赖的API Level为17或者以上,就不会受到该问题的影响
对于API Level 等于或低于17的Android系统:
建议不要使用addJavascriptInterface接口;
如果一定要用addJavascriptInterface:- 如果使用HTTPS协议加载URL,应进行证书校验防止访问的页面被篡改挂马;
- 如果使用HTTP协议加载URL,应进行白名单过滤、完整性校验等防止访问的页面被篡改;
- 如果加载本地Html,应将html文件内置在APK中,以及进行对html页面完整性校验。
移除Android系统内部的默认内置接口
在2014年发现在Android系统中webkit中默认内置的一个searchBoxJavaBridge_接口同时存在远程代码执行漏洞,建议工发者通过以下方式移除该Javascript接口:
removeJavascriptInterface(“searchBoxJavaBridge_”);
另外在android/webkit/AccessibilityInjector.java中存在accessibility和accessibility Traversal存在类似漏洞,建议移除:
removeJavascriptInterface(“accessibility”);
removeJavascriptInterface(“accessibilityTraversal”);
Cordova系统修复
在project.properties里 target为android 17或以上时,可以将
ionic/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebViewEngine.java
259注释掉
// webView.addJavascriptInterface(exposedJsApi, “_cordovaNative”);
我把移除操作也写上了:
// webView.addJavascriptInterface(exposedJsApi, "_cordovaNative"); webView.removeJavascriptInterface("accessibility"); webView.removeJavascriptInterface("accessibilityTraversal"); webView.removeJavascriptInterface("searchBoxJavaBridge_");
参考
http://jaq.alibaba.com/community/art/show?spm=a313e.7975615.40002100.9.EfcpI2&articleid=48
- Android安全--webview远程代码执行漏洞
- android安全之webview远程代码执行漏洞
- Android WebView 远程代码执行漏洞
- Android WebView远程执行代码漏洞浅析
- Android WebView远程执行代码漏洞浅析
- Android WebView远程执行代码漏洞浅析
- Android WebView 远程执行代码漏洞浅析
- Android静态安全检测 -> WebView组件远程代码执行漏洞检测
- Android WebView远程代码执行漏洞简析
- WebView 远程代码执行漏洞浅析
- WebView 远程代码执行漏洞浅析
- WebView 远程代码执行漏洞修复方案
- WebView远程代码执行漏洞学习并复现
- 网银安全控件远程代码执行漏洞分析
- Android漏洞/WebView漏洞及Web安全
- JBOSS远程代码执行漏洞
- JBOSS远程代码执行漏洞
- JBOSS远程代码执行漏洞
- Pure JS (3.1):上传下载(利用 HTML5 与 Flash)
- SQL防御
- JDK版本的新特性
- Spring ioc容器启动流程—obtainFreshBeanFactory
- 企业不良资产的审计 不同类型区别对待
- Android安全--webview远程代码执行漏洞
- VirtualBox安装OpenWrt
- 封装好的Android 微信支付
- 格式化输入与输出
- osx下信号量和锁无法使用的替代品
- 如何通俗理解递归
- 汇编从0开始(7)
- Matlab 图像平移、旋转、缩放、镜像
- 众觅,让支付宝『到位』全国到位!共享经济下人人互助