支付宝小程序抓包&源码获取

5,235 阅读3分钟

第一次接触支付宝小程序的抓包,记录一下这俩天的收获,最终不是很优雅的的实现了抓包和源码获取

小程序的渗透测试思路基本与web一样,难点在抓包和源码获取俩部分

1. 模拟器检测

刚开始是在雷电模拟器上安装支付宝,登录一直提示错误信息,直接用真机一加3T,配置为Android9+ROOT,之前刷的OxygenOS

抓包配置

  • 安装CA证书

以抓包软件Reqable为例,安装软件后,点击工具栏证书,选择安卓

添加图片注释,不超过 140 字(可选)

然后复制ADB命令就可以了

如果使用其他代理软件,如Burp,fiddler,whistle等,基本都是一个crt或者pem文件,使用openssl计算一下hash值,然后修改文件名为.0,同样的adb命令push到手机里也是一样的

以whistle的证书为例

添加图片注释,不超过 140 字(可选)

修改文件名为 22d90468.0 就可以了

  • 配置代理

刚开始我使用的是WIFI里的代理选项,发现有些软件根本不走,最后找到了一个把代理转为VPN的工具,ProxyMe,能强制软件走代理

添加图片注释,不超过 140 字(可选)

目前已经能抓到支付宝小程序的包了,但是抓不到支付宝的包,处在一个很抽象的位置,

所以我的方法是,先不配置代理,让小程序加载完成,然后再开启代理,我也尝试过诸多解决方法,包括但不限于 TruseMeAlready(如下图) , GitHub - holymonk/AlipayTinyAppCrack: 破解支付宝小程序ssl验证,实现代理抓包 , 但都失败了

添加图片注释,不超过 140 字(可选)

源码获取

这个源码的地位基本相当于前端打包好的JS,不可谓不重要

但是搜索后发现方法不多,只找到吾爱上19年的一篇帖子

支付宝小程序抓包与源码获取 - 『移动安全区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

/data/data/com.eg.android.AlipayGphone/files/nebulaInstallApps/

但是经过我实际测验,也就是找一个没使用过的小程序加载,发现这个并没有多出来文件夹,通过grep也搜索不到关键字,猜测可能是已经修改了存储位置

最后通过grep搜索关键字,定位到了源码位置,具体方法如下

  1. 先打开你要获取源码的小程序,让支付宝把源码缓存到手机上
#读取小程序数据库
/data/data/com.eg.android.AlipayGphone/databases/nebulax_app.db
#使用adb pull拉到电脑上
adb pull /data/data/com.eg.android.AlipayGphone/databases/nebulax_app.db

2. 使用在线网站打开这个数据库,这里我用的是SQLite Viewer

在 nebulax_resource_app_table 这张表里,有所有的缓存的小程序信息

以海底捞为例

添加图片注释,不超过 140 字(可选)

2021002129620228就是它的app_id

  1. grep搜索这个app_id

grep -rl "2021002129620228" ./

添加图片注释,不超过 140 字(可选)

以 0.data结尾的就是源码

添加图片注释,不超过 140 字(可选)

解压后再次解压2021002129620228.tar

添加图片注释,不超过 140 字(可选)

结语

感觉还是有许多不足,如果有其他方法欢迎大佬们多多指点,谢谢!

清单

名称作用URL
一加3T(ROOT)真机绕过模拟器检测None
Reqable抓包reqable.com/
ProxyMe强制软件走代理github.com/jayluxferro…