今天想用burp对PC的微信小程序进行渗透测试,发现怎么抓也抓不到,明明之前可以抓的,经过几小时的研究和资料搜集,终于解决。顺手把如何对手机/模拟器进行抓包也写了下,在文末我会提到是如何解决这个头疼且深刻的问题,这个问题我相信大家应该都会有,希望能帮助到大家。

一、抓手机/模拟器的微信公众号、小程序、APP

前提:保证电脑和手机在同一局域网

(1)初阶

电脑端使用ipconfig查看当前IP地址

img

手机端打开WLAN设置,手动指定代理,代理IP地址为电脑端的IP地址例如上面的192.168.43.170,端口设置为例如8081

img

此时打开burp,设置监听(非本地回环地址)

img

此时,burp就能抓手机访问网页的包了。

但是对于一些HTTPS的站点,手机访问会弹出警告——证书不受信任

img

点击确定继续后,burp才可以抓到该数据包

img

(2)进阶

上面的方法很快就能用手机进行渗透测试,但是有一个问题:对HTTPS站点的渗透很繁琐甚至无效,以及对微信公众号(抓不全)和小程序会出现抓不到包、无法抓取app的情况。在手机导入一个burp证书即可

手机设置好代理后,访问http://burp 下载证书,下载的一般默认是der格式,修改成cer格式,然后从存储设备安装即可,凭据用途可以“WLAN”、“VPN和应用”都安装。

img

安装好证书后,即可抓取公众号、小程序、app的包

img

二、抓电脑端微信公众号、小程序

burp设置好代理,导出证书

img

img

img

打开Edge浏览器——设置——隐私、搜索和服务——管理证书,下载证书并导入,注意一定是选择受信任的根证书颁发机构

img

导入好证书后,设置好代理

img

按理来说,这样就可以抓到公众号和小程序的包了,但实际情况是完全抓不到小程序的包。

我们可以退出微信PC端,将目录C:\Users\用户名\AppData\Roaming\Tencent\WeChat\XPlugin\Plugins\WMPFRuntime目录下的所有文件删除

img

重新登录微信,再次尝试抓小程序的包,就可以抓到包了。

可能有的师傅没有这个目录,我们可以随便打开一个微信小程序,打开任务管理器,定位到小程序的进程,打开文件所在位置

img

回退到Plugins目录下,进入WMPFRuntime文件夹,退出微信,删除该文件夹目录下所有文件,重新登录微信PC端即可抓到小程序的包。

这样不是长久之计,但目前能做的只有抓不到就删除一次,抓不到删除一次,问我为什么这样就可以了,我也不懂hhh。有师傅有更好的解决方案,欢迎评论区提出~