经验分享 | Burpsuite抓取非HTTP流量
使用Burp对安卓应用进行渗透测试的过程中,有时候会遇到某些流量无法拦截的情况,这些流量可能不是HTTP协议的,或者是“比较特殊”的HTTP协议(以下统称非HTTP流量)。遇到这种情况,大多数人会选择切换到Wireshark等抓包工具来分析。下面要介绍的,是给测试人员另一个选择——通过Burpsuite插件NoPE Proxy对非HTTP流量抓包分析,并可实现数据包截断修改、重放等功能。
## NoPE Proxy简介
NoPE Proxy插件为Burpsuite扩展了两个新的特性:
1. 一个可配置的DNS服务器
这个DNS服务器将所有的域名解析到Burp所在主机或其它预先配置好的主机,帮助我们轻松的将所有手机流量发送到Burp。
2. 非HTTP协议截断代理
Burp的监听器开启允许invisable流量,这些就能使用Burp截断HTTP流量,Burp无法处理的非HTTP流量,通过NoPE Proxy插件处理。
## 项目地址
Github:https://github.com/summitt/Burp-Non-HTTP-Extension
## 安装
NoPE Proxy项目Github [Relaases](https://github.com/summitt/Burp-Non-HTTP-Extension/releases)页面下载最新版本的NopeProxy.jar文件,在Burp的Extender中安装,安装完成后Burpsuite新增一个Tab。

## 使用演示
### 演示环境
测试工具:Win 10 + VMware 14 + Kali 2017.3 + Burpsuite 1.7.30
物理机为Win 10,通过VMware运行Kali虚拟机,Kali通过NAT网络访问互联网,Kali的IP为192.168.211.100。在Kali上开启Burpsuite(我在Windows下测试NoPE Proxy插件无法抓包,没细查原因)。
测试对象:夜神模拟器6.0(Android版本4.4.2) + 四川移动掌上营业厅
安卓4.4之后的版本无法将所有流量通过配置的代理服务器传输。
四川移动掌上营业厅在账号登陆时,Burpsuite无法拦截请求短信验证码的数据包。
### 手机端配置
为了抓取HTTPS流量,手机端需要导入Burpsuite证书,导入方法参考[这篇文章](http://www.freebuf.com/articles/terminal/113940.html)
证书导入后,配置手机代理,
### DNS服务配置
选择需要监听的网卡,填写序号,然后点击绿色按钮开始运行DNS服务端。

### Burp Proxy设置
所有端口开启Invisible。

### 手机端设置
安卓的设置中,修改手机的代理服务器,填写Burp监听IP和端口,DNS服务器填写之前设置的192.168.211.100。

### 开启流量监听
NoPE Proxy的DNS History标签下,点击Port Monitor按钮,开始流量监听。
手机端打开APP,NoPE开始接收到DNS解析请求并将所有域名解析到Burpsuite地址。
手机端切换到账号登陆界面,填写手机号获取短信验证码。

请求地址为wap.sc.10086.cn,右边的监流量监听发现获取短信时的通信端口为18080。

切换到NoPE Server的Server Config标签,添加流量记录中发现的地址和端口。

再次发送获取短信验证码请求,可以看到NoPE Proxy已拦截到该请求内容。

TCP流量数据重放。

TCP流量历史记录

Automated

经验分享 | Burpsuite抓取非HTTP流量的更多相关文章
- 通过天天模拟器加burpsuite抓取手机app流量
通过天天模拟器,代理抓取安卓app数据包.也可以抓取https. 1.下载天天模拟器,官方下载即可,下载安装. 2.启动天天模拟器,设置代理,点击上方wlan设置图标,打开wlan设置,如下: 3.鼠 ...
- 使用Burpsuite抓取手机APP的HTTPS数据
1.所需条件 · 手机已经获取root权限 · 手机已经成功安装xposed框架 · 电脑一台 2.详细步骤 2.1 在手机上面安装xposed JustTrustMe JustTrustMe是一个去 ...
- 如何使用TcpDump抓取远程主机的流量并回显到本地的WireShark上
ssh -t username@remoteip "echo rootpassword | sudo -S tcpdump -i eth0 -A '(tcp[((tcp[12:1] & ...
- Node 抓取非utf-8编码页面
代码示例 Nodejs抓取非utf8字符编码的页面 -- Ruby's Louvre var http = require('http'); var iconv = require('iconv-li ...
- 2019-9-20:渗透测试,基础学习,phpstudy搭建Wordpress,Burpsuite抓取WorePress cms的post包
一.搭建WordPress的cms网站管理系统 1,下载Wordpress cms源码,下载地址:https://wordpress.org/download/ 2,将源码解压到phpstudy目录下 ...
- Burpsuite抓取https数据包
Burpsuite抓取https包 浏览器代理设置 Burpsuite代理设置 启动Burpsuite,浏览器访问127.0.0.1:8080,点击CA Certificate,下载cacert.de ...
- burpsuite抓取小程序的数据包(指定DNS)
目标:burpsuite抓取微信小程序的数据包,而且该系统需指定DNS!否则无法访问! 大家都知道小程序是https传输的,所以手机端是需要安装burp证书的. 已忽略安装证书的步骤,可自己百度搜索, ...
- 使用BurpSuite抓取HTTPS网站的数据包
昨天面试,技术官问到了我如何使用BurpSuite抓取https网站的数据包,一时间没能回答上来(尴尬!).因为以前https网站的数据包我都是用Fiddler抓取的,Fiddlert自动帮我们配置好 ...
- 使用Fiddler抓取手机HTTP流量包
- PC端配置 设置允许远程连接. - PC端共享上网 需要在PC上进行手机抓包,必须使手机流量经过PC,在文章<简单两行,实现无线WiFi共享上网,手机抓包再也不用愁了>中介绍了如何在P ...
随机推荐
- [转]jQuery DOM Ready
一直以来,各种JS最佳实践都会告诉我们,将JS放在HTML的最后,即</body>之前,理由就是:JS会阻塞下载,而且,在JS中很有可能有对DOM的操作,放在HTML的最后,可以尽可能的保 ...
- Python+Selenium练习篇之1-摘取网页上全部邮箱
前面已经介绍了Python+Selenium基础篇,通过前面几篇文章的介绍和练习,Selenium+Python的webUI自动化测试算是入门了.接下来,我计划写第二个系列:练习篇,通过一些练习,了解 ...
- python re 模块小结
前言: 本人环境windows 7 64位,python2.7 re是什么: regular expression缩写,意为正则表达式,是python的众多模块之一 re用途: 从文本中有选择的批量抽 ...
- Gym100623A Access Control Lists
Gym 100623A Access Control Lists 这个题很sb啊,就是去设置个交换机 我们可以给一个IP进行设置,也可以对一个网段就行设置,但是IP是优于网段的,比如样例的第一个 网段 ...
- Java 第七次
- python基础-集合小结
Python-基础-集合小结 集合 简介 声明 常用操作 成员关系 新增删除 集合间操作 其他 补充 集合 简介 python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和 ...
- C++ Essentials 之 lower_bound 和 upper_bound 的比较函数格式不同
第一次注意到这个问题. cppreference 上的条目: lower_bound upper_bound C++17 草案 N4659 lower_bound template<class ...
- [NOI2011][bzoj2434] 阿狸的打字机 [AC自动机+dfs序+fail树+树状数组]
题面 传送门 正文 最暴力的 最暴力的方法:把所有询问代表的字符串跑一遍kmp然后输出 稍微优化一下:把所有询问保存起来,把模板串相同的合并,求出next然后匹配 但是这两种方法本质没有区别,都是暴力 ...
- js 如何刷新页面
Javascript刷新页面的几种方法(未测试):1 history.go(0)2 location.reload()3 location=location4 location.assign(loca ...
- ios UIImage 圆形图片剪切方案
@interface UIImage (Resize) //按形状切割图像 - (UIImage*)cutImageWithRadius:(int)radius; @end //图片剪切 - (UII ...