我在挖小程序漏洞时,抓包用的工具也是用的和Windows一样,Proxifier + BurpSuite,这算是比较常规的工具了吧,我看网上教程也挺多的,但是有一些已经过期了,我这里分享一下我的配置流程吧。
同时我也会简单解释一下我们在Proxifer中用到的一些模块的功能与使用,别只会跟着教程一通乱配,自己做了什么也不知道。
0x00 环境
按照惯例,先说明硬件与软件环境:
-
硬件:MacbookPro M1 Pro版本
-
操作系统:MacOS Monterey 12.3
-
Proxifier版本:Proxifier for Mac 3.11
-
Burpsuite版本:Burp Suite Community Edition Version 2024.5.4
-
微信版本:Version. 3.8.6 (28078)
0x01软件准备
Proxifier直接官网下载:https://www.proxifier.com,第一次使用的话有31天免费试用,至于到期后要怎么处理,这我就不管了(自行网上搜索)。
其它软件下载就不多说了,相信大家都懂。
0x02 配置
BurpSuite配置
BurpSuite没啥好配的,就配一个代理端口就行了,这个应该也都懂,这里我配置的是8080端口。
Proxifer配置
了解
在配置之前,我想先简单解释一下它常用的两个模块是干什么的,怎么运行的,这样我们才知道配了些啥玩意,有什么作用。
我们最主要用到它的两个模块,Proxies和Rules。
Proxies
,它其实和BurpSuite的代理模块有点像,就是我们可以创建多个代理服务,并为每一个代理服务指定它的目标地址。
Rules
,看名字就知道,规则。它的作用也很简单,我们可以配置N条规则,在每一条规则中,都可以指定某一些应用,将这些应用的指定流量(或所有流量),转发到目标地址,或者是转发到Proxies配置的代理服务上去。
就像这样:
简单了解一下概念之后,就开始配置吧~ 在配置过程中再详细解释对应的功能介绍。
代理配置
-
打开Proxifer后,首页右边打开Proxies(代理)配置
-
打开后正常应该是啥也没有,点击右边的Add,新增一个代理
-
Address和Port填写我们刚刚BurpSuite上配置的代理地址与端口,Protocol(协议)我们选择HTTPS,其它不需要填写。
-
点击保存,代理就配置好了,我们会在后面的Rules中用到它。
规则配置
-
首页右边,点击Rules(规则)配置
-
正常来说,默认应该只有2条规则,一个Localhost规则,用于转发本地回环地址的,一个Default,默认规则。
-
点击左下角Add,新增一条规则,我们来配置微信应用的转发规则如下:
配置说明
Name
是我们规则的名称,这个不细说,随便写,自己认识就可以了。
Applications
这个是配置我们这条规则对应的应用程序,我们希望转发小程序的应用,因此需要配置微信小程序的应用,在MacOS上一般是下面这三个:
WeChatAppEx Helper.app
WeChatAppEx Helper
com.tencent.xinWeChat.WeChatAppEx.helper
那怎么找到这三个应用呢?
正常来说,他们的目录分别是在:
/Applications/WeChat.app/Contents/MacOS/WeChatAppEx.app/Contents/MacOS/WeChatAppEx
/Applications/WeChat.app/Contents/MacOS/WeChatAppEx.app/Contents/Frameworks/WeChatAppEx Framework.framework/Versions/C/Helpers/WeChatAppEx Helper.app/Contents/MacOS/WeChatAppEx Helper
/Applications/WeChat.app/Contents/MacOS/WeChatAppEx.app/Contents/Frameworks/WeChatAppEx Framework.framework/Versions/C/Helpers/WeChatAppEx Helper.app
但是如果没有怎么办?我们可以在终端使用命令搜索:
sudo find /Applications -name "*WeChatAppEx*"
找到应用地址之后,点击Application右下方的加号,选择这三个微信相关的程序即可。
在使用finder选择程序时,可以通过 快捷键
Shift + command + G
来直接跳转到指定目录
Target Hosts
配置目标Host过滤器,即我们配置的应用程序,在访问哪些目标地址时,才需要应用这条规则。我们这里需要小程序所有的流量都走代理,所以不用改,保持空(Any)即可。
Target Port
同上,哪些端口需要走代理,也是保持空(Any)即可。
Action
这是配置这条配置最终的行为,也就是上面应用程序也匹配了,目标域名和端口都匹配了,那这个请求应该怎么处理?我们这里选择我们上面配置的Proxy服务,也就是这条规则匹配成功时,需要将请求转发到对应的IP和端口,即我们的BurpSuite代理上。
还有其它两个选项Direct、Block,Direct即直连,请求不作任何处理,直接请求原始地址;Block即阻断,直接阻断这个请求。
规则顺序
配置完成之后,加上原来的那两条默认规则,这样我们就有3条规则了。需要调整一下规则顺序,将微信的规则放在中间,像这样:
我们上面有说到过,应用程序的请求会经过所有的规则,规则的执行顺序是从上到下的。所以我们需要先走Localhost规则,所有的本地回环地址的请求不做转发。最后走Default规则,除微信外的其它应用流量不做转发。
思考题:如果微信规则在Localhost规则的上面或者在Default的下面会有什么问题?
0x03
到这基本上就配置完成了,重启一下微信之类的,应该就可以在MacOS上使用BurpSuite上愉快的抓包啦~ 如果你看完了文章,我相信你应该也明白我们到底配了什么东西,他们的作用是什么,并且让你去配个其它应用的流量抓包,也不会有什么问题的。
欢迎关注我的公众号“混入安全圈的程序猿”,更多原创文章第一时间推送!