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. [Mysql 查询语句]——查询字段

    查询所有字段     select  *  from  表名; 可以用 * 号代表所有字段 select * from vendors; +---------+----------------+--- ...

  2. [PY3]——过滤数据——列表推导、filter()、itertools.compress()

    问题 你有一个数据序列,想利用一些规则从中提取出需要的值或者是缩短序列 解决方案 最简单的过滤数据的方法,就是使用列表推导. 使用列表推导的一个潜在缺陷就是如果输入非常大的时候会产生一个非常大的结果集 ...

  3. i.mx6 Android5.1.1 系统属性

    属性变更的请求时init事件循环处理的另一个事件,在Android平台中,为了让运行中的所有进程共享系统运行时所需要的各种设置值,系统开辟了属性存储区域,并提供了访问该区域的API.属性由键(key) ...

  4. i.mx6 Android5.1.1 vibrator系统服务流程

    0. 概述 0.1 小结 下面来从APP一直分析到kernel的driver,因为vibrator是我所知的最简单的系统服务,分析过程过来,可以获取整个安卓服务的运行思路,把相关知识点都串联起来,又不 ...

  5. 【WAN】PPPOE宽带上网功能详解

    1.mac地址克隆 某些地方的运营商会把宽带账号和用户电脑的mac地址绑定起来,运营商的账号只能让当前的电脑去上网,限制路由器上网,这时候路由器可以复制用户电脑的mac伪装成这台电脑去上网,实现路由器 ...

  6. 基于ASP.NET Core 创建 Web API

    使用 Visual Studio 创建项目. 文件->新建->项目,选择创建 ASP.NET Core Web 应用程序. 基于 ASP.NET Core 2.0 ,选择API,身份验证选 ...

  7. DataSet常用简单方法

    Clear移除表中所有行来清除任何数据的DataSet Clone赋值该DataSet的结构但不复制数据 Copy赋值DataSet的结构和数据 Dispose释放DataSet对象 Equals确定 ...

  8. iOS开发之工具篇-20个可以帮你简化移动app开发流程的工具

    如果想进入移动app开发这个领域,你总能从别的开发者或者网上或者书上找到各种各样的方法和工具,对于新手来说,还没有摸清门路就已经陷入迷茫了.这里推荐20个可以帮你简化app开发流程的工具.很多开发者都 ...

  9. linux服务器上部署jdk+tomcat+rocketmq+redis-cluster

    通常我们拿到一组干净的linux服务器,需要初始化安装一些基础软件,这里一站式介绍部署jdk+tomcat+rocketmq+redis-cluster 前言:如果要在多台服务器上安装,在一台服务器上 ...

  10. P1025[SCOI2009]游戏

    windy学会了一种游戏.对于1到N这N个数字,都有唯一且不同的1到N的数字与之对应.最开始windy把数字按 顺序1,2,3,……,N写一排在纸上.然后再在这一排下面写上它们对应的数字.然后又在新的 ...