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

【基础知识】

    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



转载自:http://blog.sina.com.cn/s/blog_777f9dbb0102v8by.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值