• 关于渗透实战中分析微信小程序前端代码的诸多问题


    版本问题

    Android版本和微信版本在7.0以上,不再信任用户安装的证书,只信任软件内置的证书,这样无法抓包。

    直接抓包

    开启代理(例如:fiddler)进行抓包,发现小程序页面加载不全,且无法抓到https的包。此方法行不通了。

    模拟器

    使用夜神模拟器配合 burpsuite 进行抓包。夜神模拟器不一定要老版本,有人会觉得新版本抓取 HTTPS 包会比较麻烦,所以一直不敢换版本。其实模拟器最大的好处就是随意开启root权限,这样就算是Android7.0以上,我们只需使用root权限把证书安到系统内置列表就行。

    然后就是常规的看IP、设端口、手机WiFi设置代理(代理地址和代理端口与bp需要一致)、浏览器访问IP:端口、下载证书、安装证书。

    这方法也不行了。

    PC端

    既然移动端这么难搞,那么转移到PC端。PC端微信小程序直到2019年8月更新至2.7.0版本才有。相较于移动端,那抓包要容易的多。

    PC端打开微信小程序,开启Fiddler代理,直接可以抓包。
    (此方法也已经不行了)

    PC端Plus

    接上一小节,桌面端微信小程序升级,使用了不同的架构,Fiddler无法获取到参数信息。观察发现,小程序进程的名字从【WeChatApp.exe】
    变成了【WeChatAppEx.exe】,如图:
    在这里插入图片描述

    有个临时解决方法。结束小程序进程,退出电脑微信,然后找到这个目录:
    在这里插入图片描述

    删除WMPFRuntime下所有的文件夹,然后重启PC微信,重新开始抓包即可。

    PS:根据小程序功能的不同,该目录会有所区别。如果是类似于Web框架的,可以找到这个目录:
    在这里插入图片描述
    删除目录下的所有内容,在重新启动微信即可抓包。
    (以上方法极不稳定)

    流量转发

    利用流量转发可以彻底解决这一的问题。 可以用sockscap或者Proxifier,或者其它的软件都行。俺用的是Proxifier。

    Proxifier是一款功能非常强大的socks5客户端,可以让不支持通过代理服务器工作的网络程序能通过HTTPS或SOCKS代理或代理链。即:让代理不支持代理的程序变的可行(言语理解)。

    Proxifier支持各种操作系统和各代理协议,它的运行模式可以指定端口,指定程序的特点。

    我们指定的程序就是上面提到的【WeChatAppEx.exe】。
    在这里插入图片描述
    可以设置代理服务器。
    在这里插入图片描述
    代理规则需要设置优先级,一般俺放在最前面。

    然后bp就可以像代理浏览器一样正常工作了。这里需要开全局代理。像Chrome浏览器其本身并没有用于设置代理服务器的任何特定配置选项,也就只能开全局代理。这也是一部分人喜欢用Firefox浏览器的原因。

    更多内容关注笔者公众号:极客随想

  • 相关阅读:
    简单了解一下pinia的结构
    2022“杭电杯”中国大学生算法设计超级联赛(4)签到题5题
    Tomcat
    数据结构与算法之树、森林与二叉树的转换(手绘)
    Rust智能指针简介
    压缩包格式可以转换吗?如何转换?
    4、React组件三大核心属性
    大一新生HTML期末作业,网页制作作业——海鲜餐饮网站登录页面(单页面)HTML+CSS+JavaScript
    八月券商金工精选
    【Xilinx】如何用代码使能和禁用jtag功能
  • 原文地址:https://blog.csdn.net/abraham76/article/details/127695578