微信小程序渗透测试详解

0x01 准备工作

在进行微信小程序渗透测试之前,需要准备以下工具和环境:

  • Burp Suite: 用于拦截和分析小程序与服务器之间的通信。
  • 模拟器(需安装微信): 用于模拟手机环境,方便调试和发送数据包。
  • Node.js: 用于运行wxappUnpacker,进行小程序包的反编译。
  • wxappUnpacker: 用于解压和反编译小程序的数据包。
  • Root Explorer: 用于浏览和管理模拟器上的文件系统。

0x02 操作流程

步骤1: 配置Burp Suite和模拟器

  1. 配置Burp Suite,设置代理端口,并确保模拟器导入了Burp的CA证书。在模拟器的WLAN设置中,输入物理机的IP和一个未被占用的端口,用于Burp的代理。
图片[1]-微信小程序渗透测试详解-山海云端论坛

步骤2: 获取小程序数据包

  1. 打开微信,随便点击一个小程序进入小程序主界面,然后打开文件管理器。
  2. /data/data/com.tencent.mm/MicroMsg/xxxxxxx/appbrand/pkg/ 目录下,找到刚才访问小程序时生成的两个数据包。
图片[2]-微信小程序渗透测试详解-山海云端论坛
图片[3]-微信小程序渗透测试详解-山海云端论坛

步骤3: 反编译小程序包

将数据包上传至物理机,压缩包含子包和主包的文件夹。

使用wxappUnpacker进行反编译。在wxappUnpacker的目录中运行以下命令安装依赖:

npm install esprima
npm install css-tree

npm install cssbeautify

npm install vm2

npm install uglify-es

npm install js-beautify

执行反编译命令,例如:

<code>node wuWxapkg.js C:\xxxxxx\xxxxxx\_-1971317095_1.wxapkg</code>

反编译完成后,对所有的JS和HTML文件进行漏洞分析,寻找潜在的安全问题。

图片[4]-微信小程序渗透测试详解-山海云端论坛
图片[5]-微信小程序渗透测试详解-山海云端论坛

步骤4: SQL注入分析

  1. 通过信息收集,了解小程序所用技术栈和服务,发现可能存在的漏洞。
  2. 通过JS分析,发现一个用于判断手机号是否注册的接口。
  3. 使用单引号和’–(单引号+mssql闭合)测试发现返回包不同。
  4. 使用单个单引号报错,而使用 单引号跟闭合返回正确数据包,判断存在SQL注入。

步骤5: 利用SQL注入漏洞

  1. 判断注入点通过单引号闭合,验证存在SQL注入。
  2. 通过注入点获取后台账号密码,发现该程序是一个通用系统。
  3. 利用获取的后台账号密码,进行渗透测试。

这些步骤侧重于微信小程序的反编译和SQL注入漏洞的挖掘。对于漏洞的利用,需要按照通用的渗透测试思路进行进一步分析和测试。

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容