版本问题

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浏览器的原因。

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

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

  1. 渗透实战-抓取微信小程序流量包

    渗透实战-抓取微信小程序流量包 前言 Proxifier使用 启用HTTPProxy服务器 设置监听地址 设置代理规则 利用Proxifier抓取微信小程序 前言 现在渗透测试不仅要对传统的web测试 ...

  2. 微信小程序反编译(解包)为微信小程序前端代码

    之前看了很多博客,背景说了一大堆,结果没有多少值得参考的知识.废话少说,直接上干货 前置条件: 1.安装夜游模拟器(其他模拟器也行,但不保证体验度) 2.电脑上安装了nodejs 1.获取.wxapk ...

  3. 【项目实战课】微信小程序图像识别模型前后端部署实战

    欢迎大家来到我们的项目实战课,本期内容是<微信小程序图像识别模型前后端部署实战>.所谓项目实战课,就是以简单的原理回顾+详细的项目实战的模式,针对具体的某一个主题,进行代码级的实战讲解. ...

  4. 从程序员的角度分析微信小程序

     从程序员的角度分析微信小程序             我赶快在书架上拿出三年前买的书,把上面的土擦干净,压压惊. 作为一个并不是资深的程序员. 从程序员的角度分析一下微信小程序,欢迎指点. 首先 ...

  5. 从程序员的角度分析微信小程序(编程语言:用到什么学什么)

    从程序员的角度分析微信小程序(编程语言:用到什么学什么) 一.总结 一句话总结:微信小程序原理就是用JS调用底层native组件,和React Native非常类似.(需要时,用到时再学) 1.选择语 ...

  6. python flask实战订餐系统微信小程序-60nginx + uwsgi 实现多进程访问

    python flask实战订餐系统微信小程序-60nginx + uwsgi 实现多进程访问 B站配套视频教程观看 uwsgi多进程配置 uwsgi.ini配置 nginx和uwsgi通过配置文件s ...

  7. python flask实战订餐系统微信小程序-59flask部署单进程启动服务

    欢迎关注原创 Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn. ...

  8. 小程序开发过程中常见问题[微信小程序、支付宝小程序]

    小程序开发过程中常见问题[微信小程序.支付宝小程序] 正文 一.样式中如何使用background-image呢? background-image支持网络的图片链接或者base64 二.使用自适应单 ...

  9. 通过调试微信小程序示例代码解析flex布局参数功能(一)

    通过调试微信小程序示例代码解析flex布局参数功能 官方示例小程序源代码下载地址:https://github.com/wechat-miniprogram/miniprogram-demo 通过调试 ...

最新文章

  1. python协程异步原理_简单介绍Python的Tornado框架中的协程异步实现原理
  2. CRF和HMM区别不仅仅前者是判别模型后者是生成模型
  3. JavaScript定义函数的几种方式
  4. 华西村合作制及分配制度
  5. 前端学习(2539):节点类型
  6. win执行mysql建库脚本_linux执行mysql脚本文件连接本地windows数据库
  7. 【nginx】nginx 原理
  8. bzoj 1689: [Usaco2005 Open] Muddy roads 泥泞的路(模拟)
  9. 抽象、多样性与可变性
  10. SwitchHosts 没有权限operation not permitted解决方案
  11. 俄罗斯方块_代码+解析
  12. SIP信令协议消息(四)
  13. 基于Node.js实现一个小小的爬虫
  14. 滤波器带宽,信号带宽 和晶振PPM(误差)的关系
  15. 怎么读取cf卡id_CF卡传输程序的步骤解析
  16. springboot借助sftp将文件上传到远端的nginx服务器中,然后将文件路径存进数据库
  17. 直销立法前狼奔豕突 非法传销组织如何转型
  18. Unity 3D安装教程
  19. scum服务器里找不到车,人渣SCUM车辆机制介绍 人渣SCUM车辆为什么消失
  20. 中国第一代程序员潘爱民的程序人生

热门文章

  1. HTTP与HTTPS(自制漫画图解)
  2. 【联邦学习论文阅读】FedProx(2018)Federated Optimization in Heterogeneous Networks
  3. php中var_dump是什么意思?
  4. Puppet快速入门!
  5. boost I 操作系统相关的库(二)- filesystem系统
  6. 826计算机网络和c语言程序设计,2020考研中国人民公安大学826计算机网络和C语言试卷特点分析...
  7. 报错:SON parse error: Cannot deserialize value of type `java.lang.String` from Array value (token `Jso
  8. 论面向组合子程序设计方法 之 微步毂纹生
  9. linux下samba共享打印机
  10. 多种 DAX 方法计算 TOP1 的值