忽然发现,写公众号那么久,我竟然没写过小程序相关的文章,借此机会,也分享一下个人对小程序的渗透之路吧。
网站有没有漏洞,三分靠运气,三分靠技术,剩下四分靠细心。
0.渗透思路
主要为两点
第一个是页面的测试,和web渗透一样,在微信中打开小程序,对常规漏洞进行测试。
第二个是反编译小程序,获取代码,比如泄露账号密码,接口地址、参数、是否存在未授权或绕过,敏感数据,阿里云key等等
在之前的项目渗透中,就曾发现过sql注入,越权访问,信息泄露账号密码,阿里云key。
1.小程序的抓包
第一个是最方便最暴力的抓包方式就是burp + proxifier
proxifier开启全局代理,也为127.0.0.1:8080
这样你访问的流量会经过proxifier 然后在转发给burp,十分方便。
第二个就是使用burp + 模拟器/实体机
有些小程序在第一种情况下可能显示页面异常,就需要在模拟器/实体机安装微信,配置网络代理,从而抓包。
2.漏洞挖掘
下面就是常规的页面渗透,抓包获取流量,挖掘常规漏洞,未授权,越权,sql等
web页面没多大收获,于是反编译小程序
首先需要配置adb 连接虚拟机,我这里用的夜深模拟器。需要用到下面几个命令
// 连接模拟器端口
adb connect 127.0.0.1:62001
//进入模拟器shell
adb shell
// 拉去文件到本地
adb pull
这是使用模拟器方便操作,可直接 获取小程序的wxapkg包,首先进入下面的路径
/data/data/com.tencent.mm/MicroMsg/appbrand/pkg/general
此时打开微信,搜索小程序,打开后则出现wxapkg包
这个时候再去拉去文件到本地
然后这里用到一个脚本,用来对wxapkg进行反编译
./bingo.sh _966401528_8.wxapkg
3.getshell
反编译完成后,打开代码,翻找其中的内容,这里发现了阿里云key
尝试使用oss浏览器连接,发现成功连接。
于是掏出祖传的cf进行getshell,首先配置密钥
输出 cf alibaba ls 查看存储桶,发现和上面的内容一致
然后getshell,直接输入console 显示默认账号已被使用,于是指定账户,就会生成新的账号和密码,再然后就可以接管平台了。
后台回复:反编译 获取脚本
cf工具原作者已删除项目,本人已fork,自行编译
https://github.com/private-null/cf
内网工具箱已发布github,并添加上已编译压缩包文件
原文始发于微信公众号(轩公子谈技术):黑客视角下的小程序保护: 一步步实现getshell
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论