0x01 大体思路

在安卓75%的市场占有率下,形形色色的安卓应用层出不穷,随之而来的便是大波的漏洞。在各类市场中随意翻一下,几乎都是连接网络的应用,这在给用户惬意体验的同时也给我们漏洞挖掘带来了机会。

当前无论是web网页,还是基于网络的安卓应用,免不了都要用http协议来与服务器通信,提交用户的更改或者获取用户想要的信息,下面,我们一起来探讨如何在windows平台下抓取http协议包寻找其中的潜在漏洞。

0x02 平台搭建

既然我们要在windows平台下挖掘安卓应用漏洞,就要想个办法让安卓应用在电脑里运行,我们用到了第三方安卓模拟器"BlueStacks",以及一款中文辅助软件"给力助手"  url:http://www.shouzhi.net.cn/z/bluestacks.html 软件并不臃肿,功能却很强大。内置安卓系统为定制系统,无启动器,可以自行在给力助手中安装GO桌面充当启动器。
这是安装好后的样子,跟安卓pad无异,触摸屏表示很爽:

对于外部apk应用导入,可以使用给力助手中的功能实现。

安卓应用能在电脑里运行了,还缺很关键的一步就是抓包了,大名鼎鼎Wireshark能胜任这个任务。url:http://dlsw.baidu.com/sw-search-sp/soft/01/15788/Wireshark-win32-1.11.2.1339076454.exe 安装好后启动界面是这样子的:

点击上图框选interface list按钮进入网卡选择:

点击有包的那个start按钮进入监听。Wireshark可以抓到所有的网络包,对于本文,我们只需要抓取get和post方法发出的数据包,不然一秒钟数百个数据包着实让人无从下手。
在下图中框选位置输入过滤语句,过滤出get和post包:http.request.method=="GET" or http.request.method=="POST"

好了,现在我们可以抓到所有post和get请求包了(注意wireshark监听的是网卡,电脑中所有应用产生的包都会被抓到,要注意识别分辨),测试一下在模拟器中打开网页,完美抓取。

0x03实战

做足了准备工作,我们可以开始实战挖一下漏洞了。由于热门推荐的应用都是免费应用,挖到漏洞也不算漏洞,付费应用需要先付费才能触发功能截获http包,屌丝付不起.....
于是乎,我们从一个特殊应用下手,我们测试的应用是58积分,一款手机赚钱应用。url:http://www.58jf.com/ 安装后可一键自动注册。简单转一下,此应用赚钱方法就是让我们下载应用,安装,然后给我们积分,积分可以兑换奖品,1W积分=1元。为了优惠新手用户,做基础任务可以奖励积分,其中第一个任务为完善用户资料,奖励2K积分。很好,就从这个完善用户资料的任务开始吧。先正常填写(这些资料目测填写完后无法走正常途径改动,而且兑换时只能是充值到此处填写的账户里,当然,以后用漏洞改也可以,只不过费点劲罢了)

千万不要点确定哦,点确定之前先记得把wireshark的监控打开...
确认可以正常抓包后,点击确定,等返回提交成功的信息后,在wireshark中按ctrl+e终止抓包,分析这几秒内捕获的包:

发现了这个,明显就是提交信息到服务器的get请求,我们用图中框选出的信息组合成url,提交成功!
再看一下积分数量

0x04反思

由上面的案例我们已经掌握了如何抓取安卓应用的对外发包了,通过此方法可以挖出很多应用的很多漏洞,想必这是极好的~
整个黑盒测试过程几乎不需要懂代码,只需懂一些基础知识即可,希望大家可以举一反三,挖出其他应用的更多漏洞

Fiddler对安卓应用手机抓包图文教程

做开发需要抓取手机app的http/https的数据包,想看APP发出的http请求和响应是什么,这就需要抓包了,这可以得到一些不为人知的api,比如还可以干些"坏事"...

需要工具:

Fiddler抓包软件

Android 手机一台

一、如何使用 Fiddler2 

下载完成后安装,安装过程就不贴图了。

如下图设置Fiddler 代理:

点击OK,在这里代理就设置完成,一定要重启软件配置才生效,下面是手机端的设置。

浏览器抓包和调试工具(Fiddler) 4.4.6.2 官方最新版 评分:

8.0

类别:
编程辅助    大小:759KB    语言:
英文 
查看详细信息 >>

二、手机端代理设置

以三星S4为例子,

1、如下图真机三星S4设置:

找到你的Wifi,必须电脑和手机处于同一个Wifi下。最好是电脑发一个Wifi出来。

长按wifi热点,选择修改网络配置。

代理设置为:手动;代理主机名为你的电脑Ip,端口就是刚才Fiddler设置的端口。

-----------------------------------------------------------------------------------------

2、模拟器(android 2.3)设置

到这里设置完成,让我们看看我们都抓到什么东东。

--------------------------------------------------------------------------------------------------------

我们看看微博客户端吧,获取首页内容如下:

不禁感叹,很好很强大~~~~~~~~~~~~~~~~~~~~~~~~

提示:Fiddler可以设置过滤,可以很方便看到我们想要的Http包:

Fiddler手机抓包

第一步:配置Fiddler

Tools->Fiddler Options...

重启Fiddler

第二步:在手机上安装证书

用手机浏览器打开http://10.240.139.173:8888(IP是你电脑的IP,8888是Fiddler的端口)

在页面上下载FiddlerRoot certificate(文件名FiddlerRoot.cer)

我用的是uc浏览器,下载到了UCDownloads目录下,这里要注意,将FiddlerRoot.cer移动到根目录下(否则会提示未在USB存储设备中找到证书文件)。

接下去:设置->安全和隐私->从存储设备安装 (按照提示操作即可)

第三步:设置代理

打开你手机上无线,代理设置->手动

主机:10.240.139.173(你的运行Fiddler的电脑IP)

端口:8888

确定

接下去就是Fiddler的基本操作了,我们已经看到手机上的数据包了。

X-User-Agent:XOne/1.1.2(AndroidPhone;2.2Later;MI 2S/android4.1.1)

Windows平台下Android应用抓包挖掘漏洞方法的更多相关文章

  1. windows平台下Android studio开发环境搭建教程

    最近,Google 已宣布,为了简化 Android 的开发力度,以重点建设 Android Studio 工具,到今年年底将停止支持Eclipse等其他集成开发环境 .而随着Android stud ...

  2. Windows平台下Python2.7中pip的安装方法

    本文允许转载,转载请保留全文! [请先阅读][说明&总目录]http://www.cnblogs.com/tbcaaa8/p/4415055.html 1. 文件下载 需要下载并运行ez_se ...

  3. windows平台下spark-shell配置

    一.下载安装spark,http://spark.apache.org/,选择合适版本后下载到本地,解压,bin目录下spark-shell文件就是spark命令行交互的入口. 二.下载安装windo ...

  4. Mac平台与Windows平台下AndroidStudio增量升级

    Android Studio增量升级什么情况下使用最合适呢? 比如现在的as版本是2.2版本,而你的as版本2.0版本,这个时候点Check For Updates就没有反应了,因为你已经2个有版本没 ...

  5. Windows平台下的node.js安装

    Windows平台下的node.js安装 直接去nodejs的官网http://nodejs.org/上下载nodejs安装程序,双击安装就可以了 测试安装是否成功: 在命令行输入 node –v 应 ...

  6. Windows 平台下 LiteIDE 的安装和使用

    1. 安装 Go 语言并设置环境变量 参考博客<Windows 平台下 Go 语言的安装和环境变量设置>. 2. MinGW 的下载和安装 Windows 下的 Go 调试还需要安装 Mi ...

  7. [转]Windows平台下Makefile学习笔记

    Windows平台下Makefile学习笔记(一) 作者:朱金灿 来源:http://blog.csdn.net/clever101 决心学习Makefile,一方面是为了解决编译开源代码时需要跨编译 ...

  8. Windows平台下Git服务器搭建

    第一步:下载Java,下载地址:http://www.java.com/zh_CN/ 第二步:安装Java.安装步骤不再详述. 第三步:配置Java环境变量. 右键”计算机” => ”属性” = ...

  9. Windows平台下PHP开发环境的配置

    Windows平台下PHP开发环境的配置 一.基本环境 1.Windows XP 32位 2.Apache 2.2.25,下载地址:http://mirror.bit.edu.cn/apache/ht ...

随机推荐

  1. <机器学习实战>读书笔记--朴素贝叶斯

    1.朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法, 最为广泛的两种分类模型是决策树模型(Decision Tree Model)和朴素贝叶斯模型(Naive Bayesian Model, ...

  2. JDK1.7新特性(2):异常和可变长参数处理

    异常 jdk1.7对try--catch--finally的异常处理模式进行了增强,下面我们依次来看增强的方面. 1. 为了防止异常覆盖,给Throwable类增加了addSuppressed方法,可 ...

  3. [转]关于NTLM认证的.NET,php,python登录

    本文转自:http://www.cnblogs.com/myx/archive/2013/03/25/php-ntlm-python-net.html 早期SMB协议在网络上传输明文口令.后来出现 L ...

  4. dapper 多对多查询对象和对象列表

    splitOn参数:用来指定列为分隔列,之前的列为前一对象,之后的列为后一对象. lookup 用来保存中间处理结果,可以理解为将结果归组出Group对象,并为其RightsList添加内容, 注意: ...

  5. C# DateTime类型和sqlserver DateTime精度不同

    在最近的项目中, 有个关于时间的功能.一个请假的时间.前端选择的时候只有日期.所以比如请一天假就是选2017-8-15和2017-8-15,这样算请这一天的假.但是后台存入数据库时我不能就存2017- ...

  6. c# 根据父节点id,找到所有的子节点数据

    转自:https://blog.csdn.net/q107770540/article/details/7708418 查的是表 Model_info中父节点为p_id时找到所有的子节点的集合 //通 ...

  7. Docker学习(四): 操作容器

    特别声明: 博文主要是学习过程中的知识整理,以便之后的查阅回顾.部分内容来源于网络(如有摘录未标注请指出).内容如有差错,也欢迎指正! =============系列文章============= 1 ...

  8. SpringBoot 之Quartz的使用

    对于Quartz的使用,还是想说一句,SpringBoot真的很好用啊! 第一步:当然是引入依赖啦 <parent> <groupId>org.springframework. ...

  9. Hibernate与mybatis比较

    Hibernate与mybatis比较 1.先说底层: a)Jdbc:全称java数据库连接,是java语言用来规范客户端如何访问数据库的程序接口. b) 一般步骤: i.加载驱动程序 ii.获得数据 ...

  10. spring mybatis 关于 basepackage 和 mapperLocations 的通配符匹配实例

    SqlSessionFactoryBean mapperLocations 注意下面几点 classpath* mapperLocation 起始路径不能有 * ,如 dm* 就不行 ** list ...