记一次从小程序反编译到任意文件下载|挖洞技巧

admin 2024年12月16日13:21:49评论13 views字数 1114阅读3分42秒阅读模式

0x01 前言

       为什么要反编译小程序?很多小程序会有自己单独的 JS 文件,JS 文件中可能会存在路由接口 ,IP地址 ,URL甚至账户密码等。反编译小程序是为了发现潜在漏洞,如接口地址、敏感信息等。通过解密 wxapkg 文件并提取源码,可使用工具分包并反编译,最后通过微信开发者工具打开查看发现漏洞。

末尾可领取挖洞资料文件

0x02 漏洞发现

环境准备:(市面上有很多反编译工具选自己喜欢的就行)

npm installnpm install esprima    npm install css-tree    npm install cssbeautify    npm install vm2    npm install uglify-es    npm install js-beautify

记一次从小程序反编译到任意文件下载|挖洞技巧

访问小程序后小程序会在

WeChat FilesApplet

目录下生成wxapkg文件

记一次从小程序反编译到任意文件下载|挖洞技巧

记一次从小程序反编译到任意文件下载|挖洞技巧

node wuWxapkg.js wxd043b3f784085f1a.wxapkg

记一次从小程序反编译到任意文件下载|挖洞技巧

反编译出源码

记一次从小程序反编译到任意文件下载|挖洞技巧

分包

node wuWxapkg.js -s=C:Desktopwxpackwx21ed9xxxxxxxac37f wx21xxxxxxx6ac37f.wxapkg

记一次从小程序反编译到任意文件下载|挖洞技巧

1.主包反编node wuWxapkg.js xxx     ## xxx为主包的路径## 2.子包反编node wuWxapkg.js xxx1 -s= xxx2 ## xxx1为子包的文件路径,xxx2为反编主包生成的文件路径node wuWxapkg.js wxd043b3xxx085f1a.wxapkg -s=C:Desktop解密wxpackwxd043b3f784085f1a将主包文件夹名称重命名为wxd043b3f784085f1

因为分包和主包被解密软件重命名的名称是一样的,如果不重命名反编译就会报错

记一次从小程序反编译到任意文件下载|挖洞技巧

使用微信开发者工具打开

#下载地址https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

记一次从小程序反编译到任意文件下载|挖洞技巧

搜索关键字 path=

常见敏感接口搜索关键词:listuserapirouteshomeList常见下载接口搜索关键词:pathfiledown

记一次从小程序反编译到任意文件下载|挖洞技巧

记一次从小程序反编译到任意文件下载|挖洞技巧

直接构造/etc/passwd

记一次从小程序反编译到任意文件下载|挖洞技巧

在后面的渗透中又发现了sign签名

记一次从小程序反编译到任意文件下载|挖洞技巧

阅读源码找路由附加的逻辑即可,找到相关的签名逻辑:

记一次从小程序反编译到任意文件下载|挖洞技巧

整体就是先将参数按照参数名进行排序后,进行拼接,然后再加上 cmscms 字符串,最后调用MD5进行处理即可。

记一次从小程序反编译到任意文件下载|挖洞技巧

后续就是一贯的测试思路了。

0x03 总结

  最后总结,反编译后可重点关注敏感接口关键词,如 list、user、api 等。喜欢的师傅可以点赞转发支持一下谢谢!

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年12月16日13:21:49
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次从小程序反编译到任意文件下载|挖洞技巧https://cn-sec.com/archives/3511897.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息