❞
小程序相较于来说:对用户具有:无需安装,多终端适配,占用内存小等优点对创作者有:适合初创团队,试错成本低,需要较少时间和资金投入优点
整个小程序框架系统分为两部分:「逻辑层」( )和 「视图层」()。小程序提供了自己的视图层描述语言 和 ,以及基于 的逻辑层框架,并在视图层与逻辑层间提供了数据传输和事件系统,让者能够专注于数据与逻辑。
视图层由 与 编写,由组件来进行展示。将逻辑层的数据反映成视图,同时将视图层的事件发送给逻辑层。
逻辑层主要的组成部分是由:.、.、 文件、配置文件等组成,因此测试过程中主要的对象就是这一些。
先介绍一种常规的方式,这里讲的是微信用户,通过(文中所有工具均在文末)把微信小程序的流量转发到(要先确定是可以抓取到正常网页的数据包的)配置
设置代理服务器
要与设置的代理相同
设置代理规则
上述配置不止可以抓取小程序的数据包,还可以抓微信内置游览器的数据包
先确定源码位置,点击 「设置——文件管理」
点击进入文件夹,以开头的即为小程序的文件夹
该文件下加载过所有的小程序的文件夹,可以把该文件夹下的开头的文件删除后,再重新加载小程序,其中为小程序加密后的文件
用工具选择需要解密的程序包(这里一定要用原目录选择),解密完成后会在工具目录下生成解密完成后的文件:
通过反编译获取源码,这里工具选择很多,我使用的是,把解密后的文件放到该工具目录下,即点即用:
解密后,可以用「小程序工具」打开,用这个打开的很大一部分的原因是想将反编译的源码进行运行调试,但是经过我的测试反编译后源码存在缺失,能够能够运行的是比较少的,所以用什么工具打开并不重要,只要能够进行全局搜索,查看即可。
如果不能运行,遇到算法如果只靠静态就比较头痛,大佬除外所以要推荐下如下这种方法。
通俗点讲就是将小程序的窗口当做一个游览器,12调用出者工具进行动态调试。注意此方法可能会有封风险,请用小测试!!!。实现方式通过对某信偏移地址进行开启调试模式,所以不同的版本的偏移地址不同,目前支持的版本如下: 微信版本小程序版本是否为最新版3.9.9.43_5_64✅3.9.8.25_1_64❌3.9.8.25_9_64❌3.9.8.25_9_64❌3.9.8.25_1_64❌3.9.8.25_1_64❌3.9.8.25_7_64❌
如果版本更新了,偏移地址是会变的,们可以关注下的项目,学习下如何找到不同版本的偏移地址,这里就不做过多的介绍了。
注意:如果小程序禁用了调试模式,此方法不适用
下载项目-(和提供的方案和工具),安装依赖:
开启小程序12运行✅
开启微信内置浏览器12抓包
这部分通常见很多小程序文章渗透讲解的都是泄露(/),但是在2025年6月之后的小程序工具支持检测这种敏感信息,所以这种漏洞的发现和利用会越来越少
如果遇到这种云泄露,直接利用工具即可:
除此之外,可以进行一些信息收集,, ,,,也可以写个脚本用正则匹配下接口,进行数据遍历后可能会有意想不到的效果。
在测试多个小程序时,会发现抓到的域名,在游览器中是可以直接打开的,如果在测试小程序时没有进展,可以尝试从这个方向进行突破:
这个案例是在众测中遇到,发现图形验证码存在复用情况,且忘记处存在用户枚举,成功枚举出测试手机,继续爆破成功进入后台:
某众测案例,开局一个小程序,抓到的域名为::
登录口一顿抓包改包,反复尝试对抗,无果:
域名直接游览器访问,一片空白,无论怎么拼接获取到的路径,还是一片空白,但是发现虽然数据没有加载,但是网站是已经加载了的:
这时候直接通过又在跑了一遍新获取的路径,了,还是没有个能够正常访问的:
继续摸索数据包,在响应头(允许跨域访问的域名)发现了一个域名: