安卓APP测试之使用Burp Suite实现HTTPS抓包方法_Android

APP的测试重点小部分在APP本身,大部分还是在网络通信上(单机版除外)。所以在安卓APP测试过程中,网络抓包非常重要,一般来说,app开发会采用HTTP协议、Websocket、socket协议,一般来说,HTTP协议最多,Websocket是后起之秀,socket最少,而针对HTTP和websocket,Burp Suite工具是最适合不过的工具了。但是在遇到了app使用SSL或TLS加密传输(https)的时候,由于证书不被信任,直接导致网络通信终端,抓包失败。本文介绍如何使用Burp suite抓取https包。

一、工具准备

安卓手机一部(Nexus4,原生安卓,未root)

笔记本(带有无线网卡,可以创建wifi热点)

wifi热点软件/同一局域网

Burp suite软件(抓取HTTP、HTTPS、Websocket包)

二、抓包原理

通过Burp suite代理方式,将手机的流量通过Burp suite;导出Burp Suite根证书(PortSwiggerCA.crt)并导入到手机中,手机的HTTPS流量将可以通过Burp suite代理。

三、配置过程1. 保证网络能进行代理

因为Burp suite是采用代理抓包方式的,所以要保证网络能够进行代理,不能被防火墙等阻隔,最好的方式是进行主机虚拟Wifi热点。

 

2. Burp suite配置

Burp suite的Proxy项目中配置代理IP及端口。

 

这里也可以为Burp Suite添加多个代理

 

3. 导出Burp Suite根证书

在火狐浏览器中,使用Burp suite代理随意打开一个https链接,获取相关证书,并导出:

 

直接导出证书:

 

 

通过hfs.exe等工具,将导出的根证书下载到手机中,并在设置-> 安全 -> 从存储设备安装(证书) 选项中安装Burp Suite根证书:

4. 手机连接Wifi热点,并设置代理:

手机连接我们刚设置好的Wifi热点,并在高级选项中配置代理:

通过以上配置,app中的HTTP流量就可以直接走Burp Suite了:

四、总结:

安卓APP更多的都是采用HTTP通信的,少数采用HTTPS的,这也是国内网络安全问题的现状。毕竟不加密的HTTP通信节约带宽和系统资源,更多人直接采用非SSL或者TLS加密的HTTP通信,这也是导致网络嗅探如此流行、简单的原因。https的通信需要信任公私钥,所以只要有了密钥或者根证书,抓包就非常容易,这也直接告诉我们,如果访问正常网站,突然弹出让我们信任证书的时候,这时也许就是我们正在被嗅探。。。。。

时间: 2016-04-20

安卓APP测试之使用Burp Suite实现HTTPS抓包方法_Android的相关文章

安卓APP测试之使用Burp Suite实现HTTPS抓包方法

APP的测试重点小部分在APP本身,大部分还是在网络通信上(单机版除外).所以在安卓APP测试过程中,网络抓包非常重要,一般来说,app开发会采用HTTP协议.Websocket.socket协议,一般来说,HTTP协议最多,Websocket是后起之秀,socket最少,而针对HTTP和websocket,Burp Suite工具是最适合不过的工具了.但是在遇到了app使用SSL或TLS加密传输(https)的时候,由于证书不被信任,直接导致网络通信终端,抓包失败.本文介绍如何使用Burp s

视频播放-安卓app中怎么使从外站抓到的文章中的视频正常播放

问题描述 安卓app中怎么使从外站抓到的文章中的视频正常播放 3C 安卓app中,怎么使从外站抓到的文章中的视频正常播放?文章从外站获取来的,但是怎么让视频也能继续正常播放

Charles中如何对https抓包

前言:下面介绍关于Charles中如何对https抓包   1.在默认没有相关设置HTTPS需要设置相关操作的时候,会出现下面的情况: 2.下面就是设置SSL Proxying,然后443是默可用的端口 然后就可以了.

实例讲解Android App使用自带的SQLite数据库的基本方法_Android

SQLite数据库是android系统内嵌的数据库,小巧强大,能够满足大多数SQL语句的处理工作,而SQLite数据库仅仅是个文件而已.虽然SQLite的有点很多,但并不是如同PC端的mysql般强大,而且android系统中不允许通过JDBC操作远程数据库,所以只能通过webservice等手段于php.servlet交互获取数据. 基础SQLiteDatabase类,代表了一个数据库对象,通过SQLiteDatabase来操作管理数据库. 一些基本的用法:   static  SQLiteD

ShareSDK造成App崩溃的一个BUG原因分析以及Fix方法_Android

近期研究了一下Game App做社交分享,最后选择了ShareSDK来集成,不仅是因为ShareSDK支持国内外主流社交平台,更重要的是ShareSDK提供了专门的 cocos2d-x集成方案,有专门的文档和代码Demo供开发者参考. 文档中提到了三种集成方式:纯Java方式.plugin-x方式以及Cocos2d-x专用组件方式,这里选择了ShareSDK Cocos2d-x专用组件(v2.3.7版本)的方式.按照文档中描述的步骤进行的相对顺利,在各个社交平台的appkey生效后,我们对dem

Android App开发中将View或Drawable转为Bitmap的方法_Android

View转换为Bitmap Android中经常会遇到把View转换为Bitmap的情形,比如,对整个屏幕视图进行截屏并生成图片:Coverflow中需要把一页一页的view转换为Bitmap.以便实现复杂的图形效果(阴影.倒影效果等):再比如一些动态的实时View为便于观察和记录数据.需要临时生成静态的Bitmap. 实现方法: 1)下面是笔者经常用的一个转换方法 public static Bitmap convertViewToBitmap(View view, int bitmapWid

三种解密 HTTPS 流量的方法介绍

三种解密 HTTPS 流量的方法介绍 Web 安全是一项系统工程,任何细微疏忽都可能导致整个安全壁垒土崩瓦解.拿 HTTPS 来说,它的「内容加密.数据完整性.身份认证」三大安全保证,也会受到非法根证书.服务端配置错误.SSL 库漏洞.私钥被盗等等风险的影响.很多同学认为只要访问的网站地址前有一把小绿锁就绝对安全,其实不然.本文通过介绍三种最常规的 HTTPS 流量解密方法及原理,浅谈一下 HTTPS 的安全风险. Man-in-the-middle Man-in-the-middle(中间人,

访问https网站,提交的数据经过抓包是明文的,求解

问题描述 这是我用winform写的https请求的demo,通过抓包工具发现发送的数据是明文的,不是说https有ssl加密吗?怎么是明文的,求大神解答! 解决方案 解决方案二: 解决方案三:因为此时你收到的证书实际是该程序返回的解决方案四:证书是服务器发送给客户端的吧...而且这个问题好像跟证书也没有关哦~~解决方案五:https抓包的原理就是抓包程序将服务器返回的证书截获然后给客户端返回一个它自己的证书客户端发送的数据抓包程序用自己的证书解密然后再用截获的证书加密,再发给服务器所以你在能看

Fiddler抓包使用教程-Https

转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/72956016 本文出自[赵彦军的博客] 开启 Https 抓包 Fiddler 默认下,Fiddler不会捕获HTTPS会话,需要你设置下. from all processes : 抓取所有的 https 程序, 包括 本机 和 手机 from browsers only : 只抓取浏览器中的 https 请求 from non-browsers only : 只抓取除了浏览器