如何开始微信小程序渗透?

工具推荐

反编译wxapkg

  • https://github.com/wux1an/wxapkg
    微信小程序反编译工具,这个工具进行的是静态逆向分析
    他是根据你小程序.wxapkg文件进行反编译
    直接scan命令,可以按方向箭选择你要扫描的小程序
    image
    选择好回车就开始扫了

    然后工具的当前目录下就会生成扫描好的内容,里面大部分都是js文件,可以进行静态分析一些加解密和路由之类的。

动态调试WeChatOpenDevTools

  • https://github.com/JaveleyQAQ/WeChatOpenDevTools-Python
    这个工具是方便在打开小程序后,能让小程序像网页一样f12打开调试
    • 有一个风险就是你的账号可能被列为风控账号不允许你继续访问某些小程序之类的,请谨慎,最好是开小号来调试。
      直接运行:WechatOpenDevTools-Python.exe -x就可以一键开启小程序调试了

问题1:你已经打开了小程序,后打开这个调试工具,你可能在右上角三个点打开的时候没有发现可调试的那个按键,这时候需要你重新打开当前的小程序即可

重新打开,可以随便一个小程序都行,反正你已经将动态调试的那个exe运行起来了

问题2:如何查看版本

问题3:如果你找到小程序的那个目录数字不在下面图中的范围,你需要退出该小程序重新登录,反复重复这个操作,实在不行就卸载微信重装一下。


把这这几个删除,这里其实就是对应的你小程序,删除了没有关系,在你打开小程序的时候他会重新加载。
删除之前要退出微信登录才能删除!!!!
依旧是:如果重复这个操作还没行,那就直接卸载微信重装一下。

小程序所在目录

微信小程序存放位置,在微信设置中打开可以看到

来到该目录后,退到上一层目录

进入Applet目录

这些wx开头的文件目录都是小程序加载的

随便点一个进去看,后缀名是wxapkg的就是小程序,我们一般的工具都会对该文件进行静态分析拿到一些源码之类的。

如何逆向小程序的js加解密

在渗透小程序的时候你会发现数据包的数据通常是加密的,响应包是加密的,啥东西都获取不到怎么办??这就是和js加解密一样的方法,小程序这里也一样的分析即可。

静态分析

直接拿反编译工具反编译出来进行代码审计,不仅审计过程中可能会发现一些存储桶key或者其他的一些秘钥。


  • 抓包后,发现数据都是加密过的怎么办?
    直接静态分析,找你这个包的对应的路由,分析代码中一些关键字,通过关键字定位到加密代码
    加密代码找到后,解密代码一般也在附近,如果没有只能手写逆向解密脚本。

  • 响应包也加密了?
    静态分析找到解密函数即可。

动态调试

动态调试的好处是我们找到加密函数和解密函数直接在console上调用就行!!

  • 抓包后,发现数据都是加密过的怎么办?
    动态调试就方便很多了,打断点后,定位加密函数,可以在console中复制这个函数,将他加密的变量修改为自己要加密的数据,看看运行成不成功即可,成功就代表你找到了该加密函数,而且动态调试过程中,你是能看到加密前的内容的,只要按照那个内容模板自己修改想要的内容即可,那么这时候就可以打很多不同的漏洞了,比如top10的都可以等,靠自己发挥。

  • 响应包也加密了?
    动态调试的时候如果响应包加密了,那么一般情况下也是能够动态调试到的,因为他也要解密才能将内容渲染到前端,也是在附近找一下对应那个加密函数的解密函数即可。

动静结合

一般情况下,能够反编译小程序了,那静态分析的差不多了,利用动态调试的好处,能够直接运行对应的js代码,那么我们直接找到加密函数解密函数直接在console上执行即可,脚本都不用写了。

posted @ 2025-11-30 22:24  竹等寒  阅读(15)  评论(0)    收藏  举报