关于渗透实战中分析微信小程序前端代码的诸多问题
版本问题
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浏览器的原因。
更多内容关注笔者公众号:极客随想。
关于渗透实战中分析微信小程序前端代码的诸多问题相关推荐
- 渗透实战-抓取微信小程序流量包
渗透实战-抓取微信小程序流量包 前言 Proxifier使用 启用HTTPProxy服务器 设置监听地址 设置代理规则 利用Proxifier抓取微信小程序 前言 现在渗透测试不仅要对传统的web测试 ...
- 微信小程序反编译(解包)为微信小程序前端代码
之前看了很多博客,背景说了一大堆,结果没有多少值得参考的知识.废话少说,直接上干货 前置条件: 1.安装夜游模拟器(其他模拟器也行,但不保证体验度) 2.电脑上安装了nodejs 1.获取.wxapk ...
- 【项目实战课】微信小程序图像识别模型前后端部署实战
欢迎大家来到我们的项目实战课,本期内容是<微信小程序图像识别模型前后端部署实战>.所谓项目实战课,就是以简单的原理回顾+详细的项目实战的模式,针对具体的某一个主题,进行代码级的实战讲解. ...
- 从程序员的角度分析微信小程序
从程序员的角度分析微信小程序 我赶快在书架上拿出三年前买的书,把上面的土擦干净,压压惊. 作为一个并不是资深的程序员. 从程序员的角度分析一下微信小程序,欢迎指点. 首先 ...
- 从程序员的角度分析微信小程序(编程语言:用到什么学什么)
从程序员的角度分析微信小程序(编程语言:用到什么学什么) 一.总结 一句话总结:微信小程序原理就是用JS调用底层native组件,和React Native非常类似.(需要时,用到时再学) 1.选择语 ...
- python flask实战订餐系统微信小程序-60nginx + uwsgi 实现多进程访问
python flask实战订餐系统微信小程序-60nginx + uwsgi 实现多进程访问 B站配套视频教程观看 uwsgi多进程配置 uwsgi.ini配置 nginx和uwsgi通过配置文件s ...
- python flask实战订餐系统微信小程序-59flask部署单进程启动服务
欢迎关注原创 Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn. ...
- 小程序开发过程中常见问题[微信小程序、支付宝小程序]
小程序开发过程中常见问题[微信小程序.支付宝小程序] 正文 一.样式中如何使用background-image呢? background-image支持网络的图片链接或者base64 二.使用自适应单 ...
- 通过调试微信小程序示例代码解析flex布局参数功能(一)
通过调试微信小程序示例代码解析flex布局参数功能 官方示例小程序源代码下载地址:https://github.com/wechat-miniprogram/miniprogram-demo 通过调试 ...
最新文章
- python协程异步原理_简单介绍Python的Tornado框架中的协程异步实现原理
- CRF和HMM区别不仅仅前者是判别模型后者是生成模型
- JavaScript定义函数的几种方式
- 华西村合作制及分配制度
- 前端学习(2539):节点类型
- win执行mysql建库脚本_linux执行mysql脚本文件连接本地windows数据库
- 【nginx】nginx 原理
- bzoj 1689: [Usaco2005 Open] Muddy roads 泥泞的路(模拟)
- 抽象、多样性与可变性
- SwitchHosts 没有权限operation not permitted解决方案
- 俄罗斯方块_代码+解析
- SIP信令协议消息(四)
- 基于Node.js实现一个小小的爬虫
- 滤波器带宽,信号带宽 和晶振PPM(误差)的关系
- 怎么读取cf卡id_CF卡传输程序的步骤解析
- springboot借助sftp将文件上传到远端的nginx服务器中,然后将文件路径存进数据库
- 直销立法前狼奔豕突 非法传销组织如何转型
- Unity 3D安装教程
- scum服务器里找不到车,人渣SCUM车辆机制介绍 人渣SCUM车辆为什么消失
- 中国第一代程序员潘爱民的程序人生
热门文章
- HTTP与HTTPS(自制漫画图解)
- 【联邦学习论文阅读】FedProx(2018)Federated Optimization in Heterogeneous Networks
- php中var_dump是什么意思?
- Puppet快速入门!
- boost I 操作系统相关的库(二)- filesystem系统
- 826计算机网络和c语言程序设计,2020考研中国人民公安大学826计算机网络和C语言试卷特点分析...
- 报错:SON parse error: Cannot deserialize value of type `java.lang.String` from Array value (token `Jso
- 论面向组合子程序设计方法 之 微步毂纹生
- linux下samba共享打印机
- 多种 DAX 方法计算 TOP1 的值