注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

熊猫正正的博客

熊猫正正的天空

 
 
 

日志

 
 

安卓 Hacking Part7:攻击WebView  

2015-07-26 09:56:25|  分类: Android开发与逆 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

转自:http://bobao.360.cn/learning/detail/142.html

本系列已经介绍了多种鉴别和攻击Android应用漏洞的方法。上一期我们介绍了Android应用调试相关的东西,本期中我们来看看与Android WebViews相关的漏洞。

涉及的相关主题

Android WebViews介绍

如何在一个应用中使用WebViews

WebView的安全问题

使用Metasploit攻击WebView

使用QR二维码攻击WebView

下面正式开始今天的Android Hacking之旅。

Android WebViews介绍

Android应用的开发中,WebView用来显示远端或者应用本地的HTML页面,其在内部使用WebKit引擎来渲染页面,并且支持前后导航,文本搜索等,也支持JavaScript等高级特性。

如何在应用中使用WebViews

WebViews在应用中的使用方法非常简单,首先我们要创建一个普通的Android应用工程,并做好设置,然后创一个WebView类的对象来使用WebView提供的功能,如下是相关的代码片段:

加载互联网网页的代码片段:

WebView webview = (WebView) findViewById(R.id.mywebview);

webview.loadUrl(“http://website.com”);

要加载互联网网页,我们的应用需要访问网络,需要在AndroidManifest.xml中注册INTERNET权限,如下所示:

<uses-permission android:name=android.permission.INTERNET/>

加载本地网页文件的代码片段:

WebView webview = (WebView) findViewById(R.id.mywebview);

webwiew.loadUrl(“file:///android_asset/www/file.html”);

WebView的安全问题

我们之前提到过,WebView支持JavaScript,如果WebView加载的代码需要执行JavaScript,可以用如下的代码来启用JavaScript支持:

WebView webview = (WebView) findViewById(R.id.mywebview);

WebSettings webSettings = myWebView.getSettings();

webSettings.setJavaScriptEnabled(true);

WebView另一个强大的功能可以将一个Java对象暴露到JavaScript中,以便JavaScript可以访问。

在实现这个功能的时候要非常小心,误用该特性会造成严重漏洞,例如以下就是@jduck提供的一段有漏洞的代码:

https://github.com/jduck/VulnWebView/

使用Metasploit攻击WebView

本节中,我们会演示如何利用最近的一个影响大多是Android应用的漏洞,该漏洞存在于所有4.2(JellyBean)及以下版本的Android中。

1、 新建一个终端窗口,键入msfconsole命令启动Metasploit

2、 输入search android查看与Android先关的exp.如下图(请确保metasploit为最新版本)

t014b2a4496df3dc06c.png

途中高亮的部分就是一个攻击webview的利用程序,但在使用之前,也可以info命令来看看这个exp的详细信息。

3、 使用use <exploit>命令加载exp,如下图:

t01cdf2c7a18a213efc.png

4、 使用show options查看需要设置的参数。

5、 参数中反向shellIP地址和端口可以手工设置,也可保持默认。

作为示例,我们保持默认设置就好了,设置URLPATH参数:

t01d458e9b5335b9201.png

6、全部设置后了之后,执行exploit命令,该命令将会启动一个反向shell监听

t0146ed4ca8311c736d.png

如上图所示,方向shell地址为的地址为http://192.168.1.104/srini0x00 ,我们可以把URL通过某些方式发送个受害者,一旦受害者打开了这个URL,我们就会获得一个shell,如下图:

t0193538d71c6c0cf80.png

使用QR二维码攻击

为了了使得攻击更加方便一点,我们可以用上面的URL生成一个对应的二维码,如果受害者扫描了这个二维码,就会在浏览器中自动打开我们的URL

相关工具包含在社会工程学工具箱中(Social Engineering Toolkit)

步骤:

1. 打开Kali的社会工程学工具箱,路径如下:

KaliLinux -> Exploitation Tools -> Social Engineering ToolKit -> se-toolkit

2.选择生成QR二维码攻击向量(QRCode Generator Attack Vector)

3.输入URL生成二维码:

t0154c148fbd18878c4.png

如图,二维码生成成功。

在图中所示的路径下找到生成的二维码:

http://p7.qhimg.com/t012c18162e028ed45c.png

4.如果受害者扫描了这个二维码,就会自动打开浏览器并加装URL,我们的Metasploit中就会有新会话建立。

t01ff55e43311539a9e.png

扫描二维码打开浏览器

t01d96d46a8b132b4c0.png

Metasplit新会话建立

5.查看所有会话

t01d79906ea1d73223b.png

6.在上面的会话之上建立交互,如下图:

t0167a528f2758d1fc9.png

7、我先设置了PATH变量未/system/bin,然后执行cat /proc/cpuinfo查看设备的CPU信息

t018eb5b29b18d6241c.png

总结

本文介绍了与WebView相关的攻击方法,我们也可以使用Drozer来进行测试和攻击。

相关参考

jduck (https://twitter.com/jduck)

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

  评论这张
 
阅读(18)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017