burpsuite、夜神模拟器(把微信装好)、node.js、wxappUnpacker
二、获取源码
1、配置Burp和模拟器(模拟器需导入ca证书),打开模拟器的WLAN–>高级设置–>输入物理机的ip以及一个没被占用的端口,Burp用于代理该端口,我使用的模拟器安卓版本为5.0。
(长按wifi为高级设置)
3、打开/data/data/com.tencent.mm/MicroMsg/目录,把该目录下所有文件删除,再打开微信,打开任意一个小程序。
4、再次打开/data/data/com.tencent.mm/MicroMsg/目录,会发现一个加密文件名的文件夹,再打开/appbrand/pkg/目录下存放着刚才访问这个小程序的三个数据,其中一个为主包其余两个为分包。
5、选中复制到与电脑的共享文件夹
6、获取源码后,使用wxappUnpacker进行反编译,分包需要使用-s参数。
三、渗透
1、使用微信开发者工具打开源码。
2、发现一个接口只需要openid即可访问,进行查看此接口功能
3、发现此处为用户报修,可获取大量用户openid。
4、使用获取到的openid在另一接口处可用户获取用户详细信息。
5、利用获取到的studentID又可对学生的水卡进行绑定,绑定后可对学生的水卡进行充值、挂失等操作。
四、结束
到此本次渗透就基本结束,通过子域名爆破还发现了该程序的管理后台,但是莫得密码,也没发现其它漏洞,便没有继续进行了。
————————————————