网络安全之小程序抓包渗透测试流程
小程序测试流程
分为两个方面,解包可以挖掘信息泄露问题、隐藏的接口,抓包可以测试一些逻辑漏洞、API 安全问题。两者结合起来就可以边调试边进行测试,更方便于安全测试。
搜索目标小程序
目标搜索不能仅仅局限于主体单位,支撑单位、供应商、全资子公司等都可能是入口点,所以小程序当然也不能放过它们。
小程序主体信息确认
查看小程序账号主体信息,否则打偏了花费了时间不说,还可能有法律风险。
点击小程序

点更多就能看到小程序相关信息

【一>所有资源获取<一】1、网络安全学习路线 2、电子书籍(白帽子)3、安全大厂内部视频 4、100 份 src 文档 5、常见安全面试题 6、ctf 大赛经典题目解析 7、全套工具包 8、应急响应笔记
小程序包获取
PC 端
首先在微信中搜索到小程序,并打开简单浏览
然后在自己微信文件保存路径下找到 applet 下找到该小程序包,可以通过时间或者小程序的 appid 快速定位到目标包

微信电脑端小程序包存在加密,需要使用工具进行解密
windows 端获取小程序包流程
打开解密工具,在工具目录建立 wxpack 文件夹(解密后的小程序包会放在这个地方),运行工具解密需要操作的小程序包即可


移动端
找到对应目录,把包拉出来即可
安卓保存路径:/data/data/com.tencent.mm/MicroMsg/{⽤户 ID}/appbrand/pkg/
iOS 保存路径:/var/mobile/Containers/Data/Application/{程序 UUID}/Library/WechatPrivate/{⽤户 ID}/WeApp/LocalCache/release/{⼩程序 ID}/ )
由于安卓 data 目录需要 root 权限访问,所以需要手机或模拟器 root
android 模拟器获取小程序包流程
这里我用到的是夜神模拟器,登录微信,找到小程序

方法是将复制的内容放到 mnt->shared->orther 下,就会自动同步到 PC 端,这是模拟器的共享目录

解包
工具地址:https://github.com/xuedingmiaojun/wxappUnpacker
环境安装
执行 node wuWxapkg.js xxxxxx.wxapkg

不出意外应该没啥问题,但意外往往很多。node 版本问题,依赖问题等等都有可能导致解包失败,这个时候就希望懂 nodejs 的同学深入了解小程序的打包压缩逻辑,然后动手二开项目。不懂的又没打算往这方面深入研究的怎么办呢,那换一个目标呗。
调试
打开微信开发者工具,选择导入项目

导入项目后可能会出现一些代码错误,需要自己手动修改,没有错误后可以编译,之后愉快的进行调试了

记得在“本地设置”模块,勾选上“不校验合法域名”功能。
有些小程序包含第三方插件,而⼩程序插件直接在微信客户端内是⽆法搜索得到的,但我们可以通过登录⾃⼰的⼩程序微信开放平台账 户在“设置” —> “第三⽅设置” —> “添加插件”中搜寻⼩程序插件。
抓包
简单来讲就是配置全局代理,让微信走全局代理。首先打开抓包工具,配置好代理,然后修改 windows 代理配置

就可以抓包分析了

评论