前言
在日常渗透工作中,有时需要对微信小程序进行抓包渗透,通过抓包,我们可以捕获小程序与服务器之间的通信数据,分析这些数据可以帮助我们发现潜在的安全漏洞,本文通过讲述三个方法在PC端来对小程序抓包渗透
文章目录
- 一、Burp直接抓包
-
- [1. 证书安装](#1. 证书安装)
-
- [1.1 证书下载](#1.1 证书下载)
- [1.2 证书导入](#1.2 证书导入)
- [2. 配置代理](#2. 配置代理)
- [3. 查看抓包效果](#3. 查看抓包效果)
- 二、Burp与ProxyPin联合抓包
-
- [1. ProxyPin介绍](#1. ProxyPin介绍)
- [2. Burp配置代理](#2. Burp配置代理)
- [3. ProxyPin配置](#3. ProxyPin配置)
-
- [3.1 安装SSL证书到本机](#3.1 安装SSL证书到本机)
- [3.2 设置代理](#3.2 设置代理)
- [3.3 配置外部代理](#3.3 配置外部代理)
- [4. 查看抓包效果](#4. 查看抓包效果)
- 三、Burp与Proxifier联合抓包
-
- [1. Proxifier介绍](#1. Proxifier介绍)
- [2. Proxifier配置](#2. Proxifier配置)
-
- [2.1 启用http服务器](#2.1 启用http服务器)
- [2.2 配置代理服务器](#2.2 配置代理服务器)
- [2.3 配置代理规则](#2.3 配置代理规则)
- [3. 查看抓包效果](#3. 查看抓包效果)
一、Burp直接抓包
1. 证书安装
1.1 证书下载
首先Burp配置好代理监听器

浏览器访问代理监听器地址,点击CA Certificate导出证书,注意要把证书的后缀der手动改成cer

1.2 证书导入
接着导入证书,从浏览器导入证书也可以,从系统导入证书也可以,反正都是到导入到本地系统,网上有很多浏览器导入方式,我这里采用系统导入的方式
打开系统设置找到Internet选项,然后选择内容,点击证书

选择受信任的根证书颁发机构,点击导入

然后把刚才的cer证书导入安装即可
2. 配置代理
进入系统设置,找到代理服务器,手动设置代理

设置为burp的代理监听器地址

保存即可
注意我这里配置的是系统代理,会抓取系统所有应用程序的http/s的数据包,如果是在浏览器设置代理,仅会抓取浏览器中的http/s数据包
3. 查看抓包效果

可以看到成功抓到小程序的数据包
但是缺点就是整个计算机系统的应用程序的http/s的数据包都会被抓取,因为我们刚才配置的系统代理
二、Burp与ProxyPin联合抓包
1. ProxyPin介绍
开源免费抓包工具,支持Windows、Mac、Android、IOS、Linux 全平台系统,可以使用它来拦截、检查和重写HTTP(S)流量,支持Flutter应用抓包,软件采用 Flutter 框架进行开发,不仅确保了软件的跨平台兼容性,还为用户带来了简洁美观的界面和流畅的操作体验,无需复杂的手动配置,仅需手机扫码连接,即可实现设备间流量的代理与共享,极大地提高了使用的便捷性
项目地址:https://github.com/wanghongenpin/proxypin
使用界面如下:

2. Burp配置代理
为了区分,我们新建代理监听器,监听8888端口


记得启用,到这就可以了,证书刚才配置过了,这里不再赘述
3. ProxyPin配置
3.1 安装SSL证书到本机
选择https代理并启用,然后点击安装根证书到本机

会弹出一个窗口,点击安装根证书

点击安装证书,便会进入安装向导,存储位置选择当前用户
接着选择受信任的根证书颁发机构

然后一直下一步即可
3.2 设置代理
点击设置,选择代理设置端口号,并启用系统代理,然后按箭头所指开启抓包

接着打开小程序,可以看到成功抓取数据包

点击某个具体的数据包,还可以看到大致内容叙述,请求包,响应包,以及cookie

那么怎么将数据包传入burp呢?
3.3 配置外部代理
点击设置,选择外部代理设置

设置刚才配置的Burp代理监听器,这样数据包就可以到burp了

4. 查看抓包效果

这个方法的原理和本质其实跟第一个方法一样的,都是通过设置系统代理抓取系统内应用程序的http/s的数据包,只不过多走了一层代理
整个代理链如下:
plain
电脑(PC)端微信小程序-->通过ProxyPin -->到Burpsuite
那为啥要说这个工具,因为这个工具还有其他的功能,相当于小型的burp,也可以改数据包,还可以连接手机,实现设备间流量的代理与共享
还有一个问题来了,上述两个方法都抓取系统内所有应用程序的http/s数据包,
那我能不能单抓wx小程序,当然是可以的,所以接下来Proxifier,他来了
三、Burp与Proxifier联合抓包
1. Proxifier介绍
Proxifier 官网地址:https://www.proxifier.com/
2. Proxifier配置
2.1 启用http服务器
配置文件,选择高级,点击http代理服务器

启用支持,启用支持后 在之后配置代理服务器的时候协议的选择才有http,不然只有https
2.2 配置代理服务器
选择配置文件,点击代理服务器

点击添加,设置监听同Burp代理端口,这里我就监听刚才配置的8888端口,协议选择https,然后确定


弹出窗口表示该代理服务器将使用default规则,也就是配置完代理服务器,就会抓取系统应用程序的流量,并且经过burp,我们这里选择否,
如果选择是,或者没有弹窗窗口的小伙伴这里要注意一下,因为到时候的代理服务器会按default规则的action会走burp代理,到时候要改为direct

如果选择否后,会有弹窗表示是否想要现在为代理服务器设置规则,我们这里选择是,然后看2.3的第二步

2.3 配置代理规则
为了方便抓取小程序的包,建立一个小程序的规则
第一步:配置文件选择代理规则

第二步:添加,为规则命名,选择代理服务器

还有一个应用程序的配置,现在为any,我们要配置小程序的应用程序,我们先打开一个小程序,
然后查询应用程序路径,我这里使用everything搜索,获取到应用WetChatAppex.exe路径

然后回到proxifier代理规则,应用程序点击浏览

路径复制,将WeChatAppEx.exe添加进来

添加进来后查看代理规则

可以看到wx小程序规则的限定了application,以及流量走向刚才设置代理服务器,到这就配置好了
3. 查看抓包效果
可以看到只有wx小程序的流量了

ps:如果最终还是有其他程序的流量,请再检查一下配置(包括burp证书),或者按顺序重启一下小程序,burp,proxifier,因为有可能是还没设置规则时burp已经先抓取到默认规则的代理流量,原因嘛,请看2.2代理服务器配置中标红字段
文章原创,欢迎转载,请注明文章出处