找回密码
 立即注册

实战 | 记一次微信小程序渗透实战记录

匿名  发表于 2022-4-11 17:26:00 阅读模式 打印 上一主题 下一主题
文章来历:奇安信攻防社区(侵删)
地址:https://forum.butian.net/share/1227
作者:dota_st
0x00前言

比来好多小伙伴都在问怎样对微信小法式停止渗透,遂写篇文章举一反三。
0x01情况预备

我利用的是夜神模拟器配合 burpsuite 停止抓包。夜神模拟器我利用的是6.6.1.1的版本,算是很老的版本了,内设系统为Android5.0。新的版本中安卓似乎都是7.0以上了,抓取 HTTPS 包会比力麻烦,所以我就一向没有换版本。倘使有需要的朋友可以自取,前面会打包云盘在文章底部。
首先我们需要设备好抓包情况,先经过ipconfig检察我们当前 ip,这里我用的是以太网,也就是插着网线;假如是连着 WIFI,则找对应的即可

实战 | 记一次微信小法式渗透实战记录-1.jpg
在 burpsuite 增加上,这里我设备端口为8888,可以依照自己需求变动

实战 | 记一次微信小法式渗透实战记录-2.jpg
翻开夜神模拟器,在 WLAN 挑选手动代理,并设备代理地址和代理端口,和 burpsuite 对应

实战 | 记一次微信小法式渗透实战记录-3.jpg
保存后,翻开阅读器拜候ip:port,这里的话为192.168.1.102:8888,点击CA Certificate下载证书

实战 | 记一次微信小法式渗透实战记录-4.jpg
翻开文件治理器,在sdcard->Download目录中可以看到下载下来的证书

实战 | 记一次微信小法式渗透实战记录-5.jpg
将cacert.der更名为cacert.cer,也就是将后缀改成cer,然后得手机设备->平安中,挑选从 SD 卡安装

实战 | 记一次微信小法式渗透实战记录-6.jpg
安装证书

实战 | 记一次微信小法式渗透实战记录-7.jpg
测试一下,阅读器拜候百度,burpsuite 能一般抓包说明已经设备情况成功

实战 | 记一次微信小法式渗透实战记录-8.jpg
0x02反编译微信小法式代码

我们在模拟器里登录微信,然后随意挑选一个微信小法式翻开

实战 | 记一次微信小法式渗透实战记录-9.jpg
翻开文件治理器,在data/data/com.tencent.mm/MicroMsg会天生一个md5加密命名的文件夹(假如翻开微信小法式过量,同时有多个文件夹不轻易识此外情况,可以挑选把MicroMsg文件夹一切内容删撤除,再去重新翻开微信小法式,就会获得唯逐一个MD5加密命名的文件夹啦)

实战 | 记一次微信小法式渗透实战记录-10.jpg
在该文件夹下的appbrand/pkg目录下找到.wxapkg后缀结尾的文件,其中只要几MB巨细的为刚刚翻开的小法式的文件

实战 | 记一次微信小法式渗透实战记录-11.jpg
点击勾选以后,来到根目录下的mnt/shared/App目录,翻开右上角三个.的功用菜单挑选粘贴挑选项,将文件复制到该文件夹

实战 | 记一次微信小法式渗透实战记录-12.jpg
这里的文件夹就是电脑同享的文件夹,点击翻开电脑文件夹

实战 | 记一次微信小法式渗透实战记录-13.jpg
可以找到小法式的文件

实战 | 记一次微信小法式渗透实战记录-14.jpg
这里保举有 GUI 界面的反编译工具:https://github.com/ezshine/wxapkg-convertor/releases
间接将文件鼠标拖拽到 GUI 界面即可起头反编译,在拖入文件确当前目录获得反编译天生的文件夹

实战 | 记一次微信小法式渗透实战记录-15.jpg

实战 | 记一次微信小法式渗透实战记录-16.jpg
然后便可以起头舒服的看看 js 代码啦

实战 | 记一次微信小法式渗透实战记录-17.jpg
0x03反编译源码代码审计

举例某小法式审计,在登录界面爆破无关以后,间接反编译拖源码审计一下,反编译出来的源码,我们侧重看 js 文件及其设置文件即可。第一想法就是先找一些接口,尝试能否有未授权之类的缝隙,下面就是找到的一处路由user/getUserInfoByUsername

实战 | 记一次微信小法式渗透实战记录-18.jpg
可以看到发送数据范例为 json 格式,而且参数为username和school,因而尝试机关请求发送

实战 | 记一次微信小法式渗透实战记录-19.jpg
成功获得系统治理员具体信息,其中包括关键的密码。获得到 md5 加密形式的密码密文后,原本还想去 cmd5 去解一下, 可是接下来留意到一个登录路由user/loginByUsernameAndPassword

实战 | 记一次微信小法式渗透实战记录-20.jpg
从源码中都看得出来就是经过账号密码去登录,刚刚未授权获得的密码存储为 md5 加密形式,想来登录应当也是停止 md5 加密的形式,所以间接发送加密形式的密码即可,机关请求发送

实战 | 记一次微信小法式渗透实战记录-21.jpg
考证登录成功。这类经常出现未授权缝隙的路由命名方式大略都是
  1. xxxByXXXId
  2. xxxByUsername
  3. xxxbyphone
  4. ......
复制代码
审计的时辰我们可以做一个法则去全局搜索源码婚配这类命名方式的路由
0x04其他范例缝隙案例

下面举例其他范例的缝隙审计案例,这里目标是为了说明小法式有哪些缝隙可以挖
信息泄露

反编译出来的源码泄露登录账号密码,这里是由于在 js 文件中写死了账号密码,只做了前端考证致使的缝隙,从下面贴的两个小法式源码中可以看到

实战 | 记一次微信小法式渗透实战记录-22.jpg

实战 | 记一次微信小法式渗透实战记录-23.jpg
在时候稍稍往前的小法式中,还经常会有泄露小法式secret的情况,简直就是把翻开保险箱的密码放在你眼前
未授权接口

仔细翻找 js 文件能找到很多未鉴权的 api 接口(可以侧重留意设置文件,很多设置文件城市写上路由列表),例如该 api 返回大量用户敏感信息

实战 | 记一次微信小法式渗透实战记录-24.jpg
测试未授权时,有一些小技能:例如当在 GET 大概 POST 传参中有token等鉴权参数,例如
  1. GET /api/GetUserInfo?id=xxx&token=xxxx HTTP/1.1
复制代码
可以尝试将token参数的值置空大概删除token参数,常常能 bypass 鉴权,我已经碰见好屡次这类情况了。举例一个案例:
该微信小法式可以注册用户,注册账号登录以后抓包,我的账号数据包以下
  1. GET /wx/queryOrders?orderState=&serviceUid=&repairUid=6864&pageNum=1&pageSize=20&uid=6864&token=9938C366-XXXX-XXXX-XXXX-9C7709D8C9E8
复制代码
当我尝试将uid参数改成其他用户时,返回权限不敷,尝试将token删除
  1. GET /wx/queryOrders?orderState=&serviceUid=&pageNum=1&pageSize=200&uid=2000
复制代码
实战 | 记一次微信小法式渗透实战记录-25.jpg
除此之外,测试一些参数,比如手机号,不晓得该系统用户手机号时,可以试试像上面说的将其置空,常常命运好能碰上系统后端查询利用的模糊查询为空时返回一切信息,下面贴图的案例就是将手机号参数置空后,成功获得到账号具体信息

实战 | 记一次微信小法式渗透实战记录-26.jpg
越权缝隙

下面案例举例一个经过 Cookie 中的参数停止鉴权的缝隙,可以经过点窜NetId中的值来遍历获得用户信息。此类缝隙的挖掘在鉴权处的源码,审计时可以侧重审计其考证流程

实战 | 记一次微信小法式渗透实战记录-27.jpg
那时也是依靠这个缝隙获得到 VPN 账号密码,得以进入内网渗透
逻辑缝隙

利用 burpsuite 抓取治理员登录数据包,获得返回包

实战 | 记一次微信小法式渗透实战记录-28.jpg
该处在login.js文件登录判定条件中,源码判定返回为 0 时登录成功,所以我们将返回包从 1 改成 0 即可登录成功。

实战 | 记一次微信小法式渗透实战记录-29.jpg
还有 肆意密码重置 ,该处缝隙蹈荷饲在黑盒中无意发现,在点窜密码处需要考证对应账号接收到的短信考证码。但怀着尝试的心态经过 buspsuite 抓包绕过 js 限制,随意填写考证码即可以重置肆意用户密码,不仔细就会很轻易轻忽的点

实战 | 记一次微信小法式渗透实战记录-30.jpg
appid和secret的操纵

那时测试数据的时辰,发现增加字符%%会致使厥后端报错,返回appid和secret

实战 | 记一次微信小法式渗透实战记录-31.jpg
获得到的appid和secret可以到微信的官方接口去自在天生微信小法式的命脉AccessToken

实战 | 记一次微信小法式渗透实战记录-32.jpg
拿到 AccessToken,相当于可以控制全部小法式了,而且 AccessToken 微信天天只能天生20次,不竭请求满20次的话可以使小法式解体没法利用。

实战 | 记一次微信小法式渗透实战记录-33.jpg
其次操纵AccessToken可以履行相当多的其他操纵,见微信官方文档,这里就不画蛇添足了。
工具自取链接:
  1. 链接:https://pan.baidu.com/s/1vMVvmm2n2wyr3vhzp91iqA
  2. 提取码:jpho
复制代码
0x05总结

总的来说,微信小法式的渗透我感觉最重要的还是仔细审计一下反编译获得的源码,经常会成心想不到的欣喜噢~
回复

使用道具

说点什么

您需要登录后才可以回帖 登录 | 立即注册
HOT • 推荐

神回复

站长姓名:王殿武 杭州共生网络科技 创始人 云裂变新零售系统 创始人 飞商人脉对接平台 创始人 同城交友聚会平台 创始人 生活经验分享社区 创始人 合作微信:15924191378(注明来意)