做网站准备内容,深圳公司做网站,神木网站设计公司,清河县做网站微信小程序渗透测试指北#xff08;附案例#xff09; 本文分为三部分#xff0c;第一部分涵盖了微信小程序渗透前置知识#xff0c;第二部分讲述小程序渗透常用方法#xff0c;第三部分讲述小程序实践挖掘技巧#xff0c;点击**「阅读原文」**体验更佳。 0x01 前置知识 …微信小程序渗透测试指北附案例 本文分为三部分第一部分涵盖了微信小程序渗透前置知识第二部分讲述小程序渗透常用方法第三部分讲述小程序实践挖掘技巧点击**「阅读原文」**体验更佳。 0x01 前置知识
为什么要使用小程序
小程序相较于APP来说 对用户具有无需安装多终端适配占用内存小等优点 对创作者有适合初创团队试错成本低需要较少时间和资金投入优点
0x02 架构分析
整个小程序框架系统分为两部分「逻辑层」App Service和 「视图层」View。小程序提供了自己的视图层描述语言 WXML 和 WXSS以及基于JavaScript 的逻辑层框架并在视图层与逻辑层间提供了数据传输和事件系统让开发者能够专注于数据与逻辑。
视图层由 WXML 与 WXSS 编写由组件来进行展示。将逻辑层的数据反映成视图同时将视图层的事件发送给逻辑层。
逻辑层主要的组成部分是由app.js、app.json、js 文件、json****配置文件等组成因此测试过程中主要分析的对象就是这一些。
0x03 渗透常用方法
小程序抓包
先介绍一种常规的方式这里讲的是windows微信用户通过Proxifier(文中所有工具均在文末)把微信小程序的流量转发到Burpsuite要先确定Burpsuite是可以抓取到正常网页的数据包的
Proxifier配置
设置代理服务器
要与Burpsuite设置的代理相同
设置代理规则
WeChat.exe;WeChatAppEx.exe;WeChatPlayer.exe;WechatBrowser.exe;WeChatAppEx*.exe 上述配置不止可以抓取小程序的数据包还可以抓微信内置游览器的数据包
源码解密及提取
定位
先确定源码位置点击 「设置——文件管理」
点击进入Applet文件夹以wx开头的即为小程序的文件夹
该文件下加载过所有的小程序的文件夹可以把该文件夹下的wx开头的文件删除后再重新加载小程序其中__APP__.wxapkg为小程序加密后的文件
解密
用UnpackMiniApp工具选择需要解密的程序包这里一定要用原目录选择解密完成后会在工具wxpack目录下生成解密完成后的文件
反编译
通过反编译获取源码这里工具选择很多我使用的是CrackMinApp把解密后的文件放到该工具wxapkg目录下即点即用
解密后可以用**「小程序开发工具」**打开用这个打开的很大一部分的原因是想将反编译的源码进行运行调试但是经过我的测试反编译后源码存在缺失能够能够运行的是比较少的所以用什么工具打开并不重要只要能够进行全局搜索查看即可。
如果不能运行遇到算法分析如果只靠静态分析就比较头痛大佬除外所以要推荐下如下这种方法。
小程序调试模式
原理
通俗点讲就是将小程序的窗口当做一个游览器F12调用出开发者工具进行动态调试。注意此方法可能会有封号风险请用小号测试。实现方式通过对某信偏移地址进行hook开启调试模式所以不同的版本的偏移地址不同目前支持的版本如下
Windows 微信版本小程序版本是否为最新版3.9.9.43_x648555_x64✅3.9.8.25_x648531_x64❌3.9.8.25_x648529_x64❌3.9.8.25_x648519_x64❌3.9.8.25_x648501_x64❌3.9.8.25_x648461_x64❌3.9.8.25_x648447_x64❌
如果版本更新了偏移地址是会变的师傅们可以关注下zhiyuan师傅的WeChatOpenDevTools项目学习下如何找到不同版本的偏移地址这里就不做过多的介绍了。
注意如果小程序禁用了调试模式此方法不适用
食用方法
下载项目WeChatOpenDevTools-Pythonzhiyuan和Javeley师傅提供的方案和工具安装依赖
pip3 install -r requirements.txt 开启小程序F12运行✅
python main.py -x 开启微信内置浏览器F12抓包
python main.py -c 0x04 实战部分
案例1敏感信息
这部分通常见很多小程序文章渗透讲解的都是泄露AppSecretak/sk但是在2022年6月之后的小程序开发工具支持检测这种敏感信息所以这种漏洞的发现和利用会越来越少
如果遇到这种云key泄露直接利用工具即可
除此之外可以进行一些信息收集https://,http://,phone ,token,key也可以写个脚本用正则匹配下接口进行数据遍历后可能会有意想不到的效果。
案例2弱口令
在测试多个小程序时会发现抓到的xxxxx.com域名在游览器中是可以直接打开的如果在测试小程序时没有进展可以尝试从这个方向进行突破
这个案例是在众测中遇到发现图形验证码存在复用情况且忘记密码处存在用户枚举成功枚举出测试手机号13122223333继续爆破密码成功进入后台
案例3未授权访问
某众测案例开局一个小程序抓到的域名为https://1.com
登录口一顿抓包改包反复尝试对抗无果
域名直接游览器访问一片空白无论怎么拼接获取到的路径还是一片空白但是发现虽然数据没有加载但是网站title是已经加载了的
这时候直接通过又在Burpsuite跑了一遍新获取的路径G了还是没有个能够正常访问的
继续摸索分析数据包在响应头Access-Control-Allow-Origin允许跨域访问的域名发现了一个域名https://2.com
直接访问被waf提示405但是发现下面写着7x24客服随手加下面的QQ
秒通过尝试着问了下没想到真的回我了后面回复给我的意思就是这个网站设置了安全策略只能通过xx省访问
修改xx省内IP重复上述步骤一发入魂https://2.com/H5/#/发现一个测试用例页面图片太过敏感我就不放了可以操作和查看该系统的所有数据
小技巧发现某个未授权接口存在任意文件下载这个时候可分两个漏洞交拿两个Rank分
0x05 完结
还有其他小程序案例和web渗透测试流程无异就不做过多赘述啦。后面在渗透过程中再遇到有趣的案例再与大家分享。