标签:
androidwebview代码执行 |
分类: android安全 |
笔者总是喜欢用尽可能简洁的代码构建程序并以图文展示的方式来描述漏洞,Know it,then Hack it,or Defense it。
【基础知识】
【漏洞重现】
构建一个使用Webview组件的程序,
1)AndroidManifest.xml添加网络访问权限
2)activity_my.xml添加Webview控件
3)MyActivity.java添加关键代码
其中webview-exec.html检测代码:
APP程序运行结果如下图:
可以看到,在没有使用addJavascriptInterface接口函数的情况下,也会存在远程代码执行漏洞,原因是webview组件默认调用”searchBoxJavaBridge_”对象。
当使用addJavascriptInterface接口函数时,
APP程序运行结果如下图:
可以看到,即便test类没有具体实现代码,也一样会触发漏洞。
【安全建议】
1、使用removeJavascriptInterfac
2、不用addJavascriptInterface接口函数。使用shouldOverrideUrlLoading
PS:建议android用户自行保护个人手机安全,升级系统至4.2+版本。
【扩展阅读】
http://www.cis.syr.edu/~wedu/Research/paper/webview_acsac2011.pdf
http://50.56.33.56/blog/?p=314
http://drops.wooyun.org/papers/548
http://security.tencent.com/index.php/opensource/detail/1
http://blog.csdn.net/leehong2005/article/details/11808557
最后的最后:文中涉及到的代码和技术细节,只限用于技术交流,切勿用于非法用途。欢迎探讨交流,行文仓促,不足之处,敬请不吝批评指正。: )