经验分享 | 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 ...
随机推荐
- load_file()与into outfile函数详解
load_file()函数的使用: 1.使用条件 ①有读取文件的权限 r and (select count(*) from mysql.user)>0 如果返回正常则说明有权限,反之没有 ②文 ...
- Python人工智能-基于百度AI接口
参考百度AI官网:http://ai.baidu.com/ 准备工作: 支持Python版本:2.7.+ ,3.+ 安装使用Python SDK有如下方式 >如果已经安装了pip,执行 pip ...
- Pipenv 学习笔记
个人笔记,胡言乱语.并不是什么教学向文章.. 前言 在学习了 Python.Java 后,会发现 Java 有很成熟的项目构建工具,以前是使用 xml 的 Maven,现在又出现了使用 groovy ...
- PAT1034
本题要求编写程序,计算2个有理数的和.差.积.商. 输入格式: # include<iostream> # include<algorithm> # include<st ...
- 动态生成的chosen实现模糊查询
$('select', newTr).chosen({ width: '100%', search_contains: true }); //初始化复制行下拉框
- BZOJ 1010: [HNOI2008]玩具装箱toy(DP+斜率优化)
[HNOI2008]玩具装箱toy Description P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊 ...
- A.Equals(B)和A==B的区别
Equals 和 == 都是用于比较. 如果a和b都是值类型,则a.Equals(b) 和 a == b 结果相同,但是在引用类型是它们的行为是不同的: string a = new string(n ...
- BZOJ 4827 [Hnoi2017]礼物 ——FFT
题目上要求一个循环卷积的最小值,直接破环成链然后FFT就可以了. 然后考虑计算的式子,可以分成两个部分分开计算. 前半部分FFT,后半部分扫一遍. #include <map> #incl ...
- 【bzoj3894】文理分科 网路流
[bzoj3894]文理分科 2015年3月25日3,4002 Description 文理分科是一件很纠结的事情!(虽然看到这个题目的人肯定都没有纠 结过) 小P所在的班级要进行文理分科.他的班 ...
- Python之数据结构:字符串
一.字符串类型 1.普通字符串 s1='abef\neiwo' print s1 print type(s1) 结果: abef eiwo <type 'str'> 2.原始字符串 s2= ...