WIKI

8.2 WebView潜在XSS攻击检测

(1)描述

允许WebView执行JavaScript(setJavaScriptEnabled),有可能导致XSS攻击。

(2)风险等级

提醒

(3)影响范围

Android api <17

(4)检测方法

检测类型:静态分析

遍历查找调用setJavaScriptEnabled方法并设置为true的包路径。

(5)修复建议

应尽量避免使用。如果一定要使用:

ü  API等于高高于17Android系统。出于安全考虑,为了防止Java层的函数被随意调用,Google4.2版本之后,规定允许被调用的函数必须以@JavascriptInterface进行注解。

ü  API等于高高于17Android系统。建议不要使用addJavascriptInterface接口,一面带来不必要的安全隐患,如果一定要使用该接口:

d.如果使用https协议加载url,应用进行证书校验防止访问的页面被篡改挂马

e.如果使用http协议加载url,应进行白名单过滤、完整性校验等防止访问的页面被篡改

f.如果加载本地html,应将html文件内置在apk中,以及进行对html页面完整性的校验

ü  使用removeJavascriptInterface移除Android系统内部的默认内置接口:searchBoxJavaBridge_accessibilityaccessibilityTraversal

(6)样例分析

www.wooyun.org/bugs/wooyun-2015-0140708

www.wooyun.org/bugs/wooyun-2016-0188252

(7)参考资料

http://jaq.alibaba.com/blog.htm?id=48

http://blog.nsfocus.net/android-webview-remote-code-execution-vulnerability-analysis