浅谈微信小程序测试技巧

渗透技巧 9个月前 admin
101 0 0
声明:该公众号大部分文章来自作者日常学习笔记,未经授权,严禁转载,如需转载,联系洪椒攻防实验室公众号。请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。

一、前言

  • 新的一年开始了,带着不一样的心情,开始一年的奋斗,祝大家心想事成。
  • 在漏洞挖掘中,Web网站打不动换个思路,试试小程序,方法除了抓包,还可以逆向。本文主要介绍一下我测试小程序的一个方法。

二、正文

1、抓包测试

  • 我习惯用PC端微信测试,方法很简单。

  • 在此之前还需要在电脑上安装BurpSuite的SSL证书,这个应该都安装过。

  • 然后安装Proxifier,如何安装激活网上教程很多,自行安装。

  • 然后打开微信,随便打开一个小程序。可以看到进程中出现如下名称。

    浅谈微信小程序测试技巧
  • 然后打开Proxifier添加上级代理。也就是填写BurpSuite的监听端口,类型选择HTTPS。

    浅谈微信小程序测试技巧
  • 再添加代理规则。填入WeChatAppEx.exe;,选择刚刚填入的代理服务器。然后勾选上就OK了。

    浅谈微信小程序测试技巧
  • 刷新,就能在BurpSuite中看到小程序的包,以腾讯文档为例。

    浅谈微信小程序测试技巧
  • 接下来就是点点点,和正常的渗透一样了。

2、逆向测试

  • 有两个步骤,解密和逆向。Github上有很多这类项目,就写我成功复现的,分别需要如下三个工具,解密逆向原项目已经删库跑路了。

    • 解密:UnpackMiniApp(GitHub上能找到备份仓库)
    • 逆向:wxappUnpacker(GitHub上能找到备份仓库)
    • 模拟运行:微信小程序开发者工具(官网能下)
  • 首先找到小程序包的存储位置,在设置中可以看到根目录,然后找到这个目录下的Applet目录。

    浅谈微信小程序测试技巧
  • 可以看到有很多。以wx命名开头的文件夹,就是每个小程序包所在目录。

    浅谈微信小程序测试技巧
  • 这里存在只有__APP__.wxapkg和除此之外还有其它包的情况,就是主包和可能存在的分包。

    浅谈微信小程序测试技巧
    浅谈微信小程序测试技巧
  • 然后对小程序包进行解密,用到刚刚提到的UnpackMiniApp工具。,先在UnpackMiniApp.exe同目录下创建一个wxpack文件夹选择加密小程序包为__APP__.wxapkg,有分包一样选择对应的分包。

    浅谈微信小程序测试技巧
    浅谈微信小程序测试技巧
  • 就可以看到解密后的小程序包。

    浅谈微信小程序测试技巧
  • 解密后再逆向,首先先安装node.js环境,这个自行安装,然后再安装项目所需依赖。如果还提示缺依赖再另外安装就行了(我实际运行还安装了escodegen)。

    npm install esprima css-tree cssbeautify vm2 uglify-es js-beautify
  • 使用工具逆向,包选择刚刚解密过后的包,效果如下。

    node ./wuWxapkg.js 主包路径
    node ./wuWxapkg.js 分包路径 -s=主包路径
    浅谈微信小程序测试技巧
  • 解密完就可以看到对应的源码。

    浅谈微信小程序测试技巧
  • 再打开微信小程序开发者工具,导入

    浅谈微信小程序测试技巧
  • 就可以看到小程序的界面了。可以翻翻接口配置文件什么的。因为很多小程序不登录什么都看不见。这时候逆向就能看到接口。

    浅谈微信小程序测试技巧

三、最后

  • 微信小程序很烦的就是很多都要获取用户信息,登录后才能打开。为了防止溯源,建议小程序渗透用自己不常用的微信,可以百度PC端微信双开,双开用小号测试。

原文始发于微信公众号(洪椒攻防实验室):浅谈微信小程序测试技巧

版权声明:admin 发表于 2024年2月19日 下午2:12。
转载请注明:浅谈微信小程序测试技巧 | CTF导航

相关文章