微信小程序渗透测试技巧

2021-07-22 10:58:22 浏览数 (2)

随着小程序数量的爆发式增长,其特有的安全风险也逐步凸显出来。本文基于微信小程序测试过程中的解包及抓包的技巧,总结下微信小程序安全测试的思路。


1、小程序解包(反编译)

(1)安装手机模拟器,比如说夜神、MuMu

(2)下载和安装两个应用,微信和RE文件管理器

(3)获取root权限

(4)打开微信,搜索相对应的小程序,然后再打开RE文件管理器,定位到目录:

(5)下载微信小程序反编译脚本,解包。

代码语言:javascript复制
https://github.com/xuedingmiaojun/wxappUnpacker.git

解主包:

代码语言:javascript复制
./bingo.sh 主包.wxapkg

解分包:

代码语言:javascript复制
./bingo.sh 分包.wxapkg -s=主包目录

合并分包内容,成功获取小程序前端源码。

基于小程序的前端源码,我们可以从JS敏感信息泄露、隐藏接口漏洞等方向进行漏洞挖掘。

2、小程序抓包

抓取数据包是小程序安全测试中最关键的一步。抓包的方式有多种,比如使用Android内核版本7.0以下的模拟器,通过XPosed JustTrustMe抓包;使用微信版本7.0以下通过Burp CA抓包。

这里分享一个比较简单的方法,使用Charles进行小程序抓包。

(1)环境准备

本机电脑开启Wifi共享,将自己手机和电脑连上同一个wifi。

(2)Charles设置:

下载地址:

代码语言:javascript复制
https://www.charlesproxy.com/download/

第一步:配置HTTP代理,设置代理:主界面—Proxy—Proxy Settings

选择在8888端口上监听,然后确定。勾选了SOCKS proxy,还能截获到浏览器的http访问请求。

第二步:配置SSL代理:首先在charles的 Proxy选项选择SSL Proxy Settings

第三步:为手机设置代理

在手机接入电脑wifi,配置手动代理,输入安装Charles的电脑的网络地址,端口填8888。以IOS为例,在Safri上打开Charles的根证书下载网址: chls.pro/ssl ,点击允许,开始下载。

第四步:SSL 代理设置,在Proxy-SSL Proxying Settings,添加域名

到这里完成设置,通过手机访问就可以看到获取到小程序的数据包。

基于小程序的数据包,我们可以看到前后端业务交互的过程,重点关注业务逻辑漏洞、API 接口可能存在的安全漏洞。

0 人点赞