当前位置:   article > 正文

最新微信小程序渗透测试指北(附案例)_微信小程序怎么渗透测试(2),2024年最新金三银四软件测试高级工程师面试题整理

最新微信小程序渗透测试指北(附案例)_微信小程序怎么渗透测试(2),2024年最新金三银四软件测试高级工程师面试题整理

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

本文分为三部分,第一部分涵盖了微信小程序渗透前置知识,第二部分讲述小程序渗透常用方法,第三部分讲述小程序实践挖掘技巧,点击**「阅读原文」**体验更佳。

(本文首发博客:https://sanshiok.com/archive/14.html)

0x01 前置知识

为什么要使用小程序?

小程序相较于APP来说:

  • 对用户具有:无需安装,多终端适配,占用内存小等优点
  • 对创作者有:适合初创团队,试错成本低,需要较少时间和资金投入优点

0x02 架构分析

整个小程序框架系统分为两部分:「逻辑层」(App Service)和 「视图层」(View)。小程序提供了自己的视图层描述语言 WXMLWXSS,以及基于JavaScript 的逻辑层框架,并在视图层与逻辑层间提供了数据传输和事件系统,让开发者能够专注于数据与逻辑。

视图层由 WXMLWXSS 编写,由组件来进行展示。将逻辑层的数据反映成视图,同时将视图层的事件发送给逻辑层。

逻辑层主要的组成部分是由:app.jsapp.jsonjs 文件json****配置文件等组成,因此测试过程中主要分析的对象就是这一些。

0x03 渗透常用方法

小程序抓包

先介绍一种常规的方式,这里讲的是windows微信用户,通过Proxifier(文中所有工具均在文末)把微信小程序的流量转发到Burpsuite(要先确定Burpsuite是可以抓取到正常网页的数据包的)

Proxifier配置

设置代理服务器

要与Burpsuite设置的代理相同

设置代理规则

WeChat.exe;WeChatAppEx.exe;WeChatPlayer.exe;WechatBrowser.exe;WeChatAppEx*.exe   

  • 1
  • 2

上述配置不止可以抓取小程序的数据包,还可以抓微信内置游览器的数据包

源码解密及提取
定位

先确定源码位置,点击 「设置——文件管理」

点击进入Applet文件夹,以wx开头的即为小程序的文件夹

该文件下加载过所有的小程序的文件夹,可以把该文件夹下的wx开头的文件删除后,再重新加载小程序,其中__APP__.wxapkg为小程序加密后的文件

解密

UnpackMiniApp工具选择需要解密的程序包(这里一定要用原目录选择),解密完成后会在工具wxpack目录下生成解密完成后的文件:

反编译

通过反编译获取源码,这里工具选择很多,我使用的是CrackMinApp,把解密后的文件放到该工具wxapkg目录下,即点即用:

解密后,可以用**「小程序开发工具」**打开,用这个打开的很大一部分的原因是想将反编译的源码进行运行调试,但是经过我的测试反编译后源码存在缺失,能够能够运行的是比较少的,所以用什么工具打开并不重要,只要能够进行全局搜索,查看即可。

如果不能运行,遇到算法分析如果只靠静态分析就比较头痛,大佬除外所以要推荐下如下这种方法。

小程序调试模式
原理

通俗点讲就是将小程序的窗口当做一个游览器,F12调用出开发者工具进行动态调试。注意此方法可能会有封号风险,请用小号测试!!!。实现方式通过对某信偏移地址进行hook开启调试模式,所以不同的版本的偏移地址不同,目前支持的版本如下:

Windows 微信版本小程序版本是否为最新版
3.9.9.43_x648555_x64
3.9.8.25_x648531_x64
3.9.8.25_x648529_x64
3.9.8.25_x648519_x64
3.9.8.25_x648501_x64
3.9.8.25_x648461_x64
3.9.8.25_x648447_x64

如果版本更新了,偏移地址是会变的,师傅们可以关注下@zhiyuan师傅的WeChatOpenDevTools项目,学习下如何找到不同版本的偏移地址,这里就不做过多的介绍了。

注意:如果小程序禁用了调试模式,此方法不适用

食用方法

下载项目WeChatOpenDevTools-Python@zhiyuan@Javeley师傅提供的方案和工具),安装依赖:

pip3 install -r requirements.txt   

  • 1
  • 2

开启小程序F12运行✅

python main.py -x   

  • 1
  • 2

开启微信内置浏览器F12抓包

python  main.py -c   

  • 1
  • 2

0x04 实战部分

案例1:敏感信息

这部分通常见很多小程序文章渗透讲解的都是泄露AppSecret(ak/sk),但是在2022年6月之后的小程序开发工具支持检测这种敏感信息,所以这种漏洞的发现和利用会越来越少

如果遇到这种云key泄露,直接利用工具即可:

除此之外,可以进行一些信息收集https://,http://,phone ,token,key,也可以写个脚本用正则匹配下接口,进行数据遍历后可能会有意想不到的效果。

案例2:弱口令

在测试多个小程序时,会发现抓到的xxxxx.com域名,在游览器中是可以直接打开的,如果在测试小程序时没有进展,可以尝试从这个方向进行突破:

这个案例是在众测中遇到,发现图形验证码存在复用情况,且忘记密码处存在用户枚举,成功枚举出测试手机号13122223333,继续爆破密码成功进入后台:

案例3:未授权访问

某众测案例,开局一个小程序,抓到的域名为:https://1.com

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

研究,那么很难做到真正的技术提升。**

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/623759
推荐阅读
相关标签
  

闽ICP备14008679号