加载中…
正文 字体大小:

android安全之webview远程代码执行漏洞

(2014-11-16 14:06:58)
标签:

android

webview

代码执行

分类: android安全

笔者总是喜欢用尽可能简洁的代码构建程序并以图文展示的方式来描述漏洞,Know itthen Hack itor Defense it

 

【基础知识】

    WebviewAndroid用于浏览网页的组件,它的接口函数addJavascriptInterface可以实现网页JS与本地JAVA的交互,但是没有限制已注册JAVA类的方法调用,导致可以利用反射机制调用未注册的其它任何JAVA类。

   Android用户访问恶意网页时,会被迫执行系统命令,如安装木马、盗取敏感数据等。

 

【漏洞重现】

构建一个使用Webview组件的程序,

1AndroidManifest.xml添加网络访问权限

android安全之webview远程代码执行漏洞

2activity_my.xml添加Webview控件

android安全之webview远程代码执行漏洞

3MyActivity.java添加关键代码

android安全之webview远程代码执行漏洞

其中webview-exec.html检测代码:

android安全之webview远程代码执行漏洞

APP程序运行结果如下图:

android安全之webview远程代码执行漏洞

可以看到,在没有使用addJavascriptInterface接口函数的情况下,也会存在远程代码执行漏洞,原因是webview组件默认调用”searchBoxJavaBridge_”对象。

 

 

当使用addJavascriptInterface接口函数时,

android安全之webview远程代码执行漏洞

APP程序运行结果如下图:

android安全之webview远程代码执行漏洞

可以看到,即便test类没有具体实现代码,也一样会触发漏洞。

 

【安全建议】

1、使用removeJavascriptInterface("searchBoxJavaBridge_")移除searchBoxJavaBridge_对象。

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

https://labs.mwrinfosecurity.com/advisories/2013/09/24/webview-addjavascriptinterface-remote-code-execution/

http://blog.csdn.net/leehong2005/article/details/11808557

 

 

最后的最后:文中涉及到的代码和技术细节,只限用于技术交流,切勿用于非法用途。欢迎探讨交流,行文仓促,不足之处,敬请不吝批评指正。: )

0

阅读 评论 收藏 转载 喜欢 打印举报
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有