Burp与小程序梦中情缘
前言
在日常渗透工作中,有时需要对微信小程序进行抓包渗透,通过抓包,我们可以捕获小程序与服务器之间的通信数据,分析这些数据可以帮助我们发现潜在的安全漏洞,本文通过讲述三个方法在PC端来对小程序抓包渗透
文章目录
- 一、Burp直接抓包
- 1. 证书安装
- 1.1 证书下载
- 1.2 证书导入
- 2. 配置代理
- 3. 查看抓包效果
- 二、Burp与ProxyPin联合抓包
- 1. ProxyPin介绍
- 2. Burp配置代理
- 3. ProxyPin配置
- 3.1 安装SSL证书到本机
- 3.2 设置代理
- 3.3 配置外部代理
- 4. 查看抓包效果
- 三、Burp与Proxifier联合抓包
- 1. Proxifier介绍
- 2. Proxifier配置
- 2.1 启用http服务器
- 2.2 配置代理服务器
- 2.3 配置代理规则
- 3. 查看抓包效果
一、Burp直接抓包
1. 证书安装
1.1 证书下载
首先Burp配置好代理监听器

浏览器访问代理监听器地址,点击CA Certificate导出证书,注意要把证书的后缀der手动改成cer

1.2 证书导入
接着导入证书,从浏览器导入证书也可以,从系统导入证书也可以,反正都是到导入到本地系统,网上有很多浏览器导入方式,我这里采用系统导入的方式
打开系统设置找到Internet选项,然后选择内容,点击证书

选择受信任的根证书颁发机构,点击导入

然后把刚才的cer证书导入安装即可
2. 配置代理
进入系统设置,找到代理服务器,手动设置代理

设置为burp的代理监听器地址

保存即可
注意我这里配置的是系统代理,会抓取系统所有应用程序的http/s的数据包,如果是在浏览器设置代理,仅会抓取浏览器中的http/s数据包
3. 查看抓包效果

可以看到成功抓到小程序的数据包
但是缺点就是整个计算机系统的应用程序的http/s的数据包都会被抓取,因为我们刚才配置的系统代理
二、Burp与ProxyPin联合抓包
1. ProxyPin介绍
开源免费抓包工具,支持Windows、Mac、Android、IOS、Linux 全平台系统,可以使用它来拦截、检查和重写HTTP(S)流量,支持Flutter应用抓包,软件采用 Flutter 框架进行开发,不仅确保了软件的跨平台兼容性,还为用户带来了简洁美观的界面和流畅的操作体验,无需复杂的手动配置,仅需手机扫码连接,即可实现设备间流量的代理与共享,极大地提高了使用的便捷性
项目地址:https://github.com/wanghongenpin/proxypin
使用界面如下:

2. Burp配置代理
为了区分,我们新建代理监听器,监听8888端口


记得启用,到这就可以了,证书刚才配置过了,这里不再赘述
3. ProxyPin配置
3.1 安装SSL证书到本机
选择https代理并启用,然后点击安装根证书到本机

会弹出一个窗口,点击安装根证书

点击安装证书,便会进入安装向导,存储位置选择当前用户


接着选择受信任的根证书颁发机构

然后一直下一步即可
3.2 设置代理
点击设置,选择代理设置端口号,并启用系统代理,然后按箭头所指开启抓包

接着打开小程序,可以看到成功抓取数据包

点击某个具体的数据包,还可以看到大致内容叙述,请求包,响应包,以及cookie

那么怎么将数据包传入burp呢?
3.3 配置外部代理
点击设置,选择外部代理设置

设置刚才配置的Burp代理监听器,这样数据包就可以到burp了

4. 查看抓包效果

这个方法的原理和本质其实跟第一个方法一样的,都是通过设置系统代理抓取系统内应用程序的http/s的数据包,只不过多走了一层代理
整个代理链如下:
电脑(PC)端微信小程序-->通过ProxyPin -->到Burpsuite
那为啥要说这个工具,因为这个工具还有其他的功能,相当于小型的burp,也可以改数据包,还可以连接手机,实现设备间流量的代理与共享
还有一个问题来了,上述两个方法都抓取系统内所有应用程序的http/s数据包,
那我能不能单抓wx小程序,当然是可以的,所以接下来Proxifier,他来了
三、Burp与Proxifier联合抓包
1. Proxifier介绍
Proxifier 官网地址:https://www.proxifier.com/
2. Proxifier配置
2.1 启用http服务器
配置文件,选择高级,点击http代理服务器

启用支持,启用支持后 在之后配置代理服务器的时候协议的选择才有http,不然只有https


2.2 配置代理服务器
选择配置文件,点击代理服务器

点击添加,设置监听同Burp代理端口,这里我就监听刚才配置的8888端口,协议选择https,然后确定


弹出窗口表示该代理服务器将使用default规则,也就是配置完代理服务器,就会抓取系统应用程序的流量,并且经过burp,我们这里选择否,
如果选择是,或者没有弹窗窗口的小伙伴这里要注意一下,因为到时候的代理服务器会按default规则的action会走burp代理,到时候要改为direct

如果选择否后,会有弹窗表示是否想要现在为代理服务器设置规则,我们这里选择是,然后看2.3的第二步

2.3 配置代理规则
为了方便抓取小程序的包,建立一个小程序的规则
第一步:配置文件选择代理规则

第二步:添加,为规则命名,选择代理服务器

还有一个应用程序的配置,现在为any,我们要配置小程序的应用程序,我们先打开一个小程序,
然后查询应用程序路径,我这里使用everything搜索,获取到应用WetChatAppex.exe路径

然后回到proxifier代理规则,应用程序点击浏览

路径复制,将WeChatAppEx.exe添加进来

添加进来后查看代理规则

可以看到wx小程序规则的限定了application,以及流量走向刚才设置代理服务器,到这就配置好了
3. 查看抓包效果
可以看到只有wx小程序的流量了

ps:如果最终还是有其他程序的流量,请再检查一下配置(包括burp证书),或者按顺序重启一下小程序,burp,proxifier,因为有可能是还没设置规则时burp已经先抓取到默认规则的代理流量,原因嘛,请看2.2代理服务器配置中标红字段
文章原创,欢迎转载,请注明文章出处
相关文章:
Burp与小程序梦中情缘
前言 在日常渗透工作中,有时需要对微信小程序进行抓包渗透,通过抓包,我们可以捕获小程序与服务器之间的通信数据,分析这些数据可以帮助我们发现潜在的安全漏洞,本文通过讲述三个方法在PC端来对小程序抓包渗透 文章目…...
数据结构:Win32 API详解
目录 一.Win32 API的介绍 二.控制台程序(Console)与COORD 1..控制台程序(Console): 2.控制台窗口坐标COORD: 3.GetStdHandle函数: (1)语法: (2)参数: 4.GetConsoleCursorInf…...
迁移学习中模型训练加速(以mllm模型为例),提速15%以上
根据模型训练过程的显存占用实测的分析,一个1g参数的模型(存储占用4g)训练大约需要20g的显存,其中梯度值占用的显存约一半。博主本意是想实现在迁移学习(冻结部分参数)中模型显存占用的降低,结果不太满意,只能实现训练速度提升,但无法实现显存占用优化。预计是在现有的…...
socket编程UDP-实现停等机制(接收确认、超时重传)
在下面博客中,我介绍了利用UDP模拟TCP连接、按数据包发送文件的过程,并附上完整源码。 socket编程UDP-文件传输&模拟TCP建立连接脱离连接(进阶篇)_udp socket发送-CSDN博客 下面博客实现的是滑动窗口机制: sock…...
前端面试题目 (Node.JS-Express框架)[二]
在 Express 中如何使用 Passport.js 进行身份认证? Passport.js 是一个 Node.js 的身份验证中间件,它可以很容易地与 Express 集成。下面是一个简单的示例,展示了如何使用 Passport.js 进行基本的身份认证。 安装依赖 npm install express passport …...
防范TCP攻击:策略与实践
TCP(传输控制协议)是互联网通信的核心协议之一,它确保了数据在网络上的可靠传输。然而,TCP也容易成为各种网络攻击的目标,如SYN洪水攻击、TCP连接耗尽攻击等。本文将探讨如何通过配置防火墙规则、优化服务器设置以及采…...
3D 生成重建034-NerfDiff借助扩散模型直接生成nerf
3D 生成重建034-NerfDiff借助扩散模型直接生成nerf 文章目录 0 论文工作1 论文方法2 实验结果 0 论文工作 感觉这个论文可能能shapE差不多同时期工作,但是shapE是生成任意种类。 本文提出了一种新颖的单图像视图合成方法NerfDiff,该方法利用神经辐射场 …...
分布式 Paxos算法 总结
前言 相关系列 《分布式 & 目录》《分布式 & Paxos算法 & 总结》《分布式 & Paxos算法 & 问题》 参考文献 《图解超难理解的 Paxos 算法(含伪代码)》《【超详细】分布式一致性协议 - Paxos》 Basic-Paxos 基础帕克索斯算法…...
我的宝贵经验
在技术的浩瀚海洋中,一份优秀的技术文档宛如精准的航海图。它是知识传承的载体,是团队协作的桥梁,更是产品成功的幕后英雄。然而,打造这样一份出色的技术文档并非易事。你是否在为如何清晰阐释复杂技术而苦恼?是否纠结…...
geoserver 瓦片地图,tomcat和nginx实现负载均衡
在地理信息系统(GIS)领域,GeoServer作为一个强大的开源服务器,能够发布各种地图服务,包括瓦片地图服务。为了提高服务的可用性和扩展性,结合Tomcat和Nginx实现负载均衡成为了一个有效的解决方案。本文将详细…...
Jenkins 启动 程序 退出后 被杀死问题
参考 Spawning Processes From Build (jenkins.io) 解决jenkins脚本启动项目后进程被杀死_jenkins杀进程-CSDN博客...
SEGGER | 基于STM32F405 + Keil - RTT组件01 - 移植SEGGER RTT
导言 RTT(Real Time Transfer)是一种用于嵌入式中与用户进行交互的技术,它结合了SWO和半主机的优点,具有极高的性能。 使用RTT可以从MCU非常快速输出调试信息和数据,且不影响MCU实时性。这个功能可以用于很多支持J-Link的设备和MCU࿰…...
分布式开发学习
1、kratos的特点 gRPC:Kratos 默认支持 gRPC,提供高性能的远程调用能力,适用于微服务间通信。 HTTP :同时支持 HTTP/1.1 和 HTTP/2,方便微服务与外部系统交互。 Protocol Buffers: protoc 工具生…...
freeswitch(开启支持MCU视频会议,使用mod_av模块)
亲测版本centos 7.9系统–》 freeswitch1.10.9 本人freeswitch安装路径(根据自己的路径进入) /usr/local/freeswitch/etc/freeswitch场景说明: 有些场景想使用视频会议MCU融合画面进行开会使用方法: 第一步:下载插件 yum install -y epel-release yum install...
Vue3常见api使用指南(TS版)
defineProps() 和 defineEmits() 内置函数,无需import导入,直接使用。传入到 defineProps 和 defineEmits 的选项会从 setup 中提升到模块的范围。因此,传入的选项不能引用在 setup 范围中声明的局部变量(比如设置默认值时),但是…...
分布式 分布式事务 总结
前言 相关系列 《分布式 & 目录》《分布式 & 分布式事务 & 总结》《分布式 & 分布式事务 & 问题》 分布式事务 所谓分布式事务是指操作范围笼罩多个不同节点的事务。例如对于订单节点&库存节点而言,一次完整的交易需要同时调动两个节…...
onnx文件转pytorch pt模型文件
onnx文件转pytorch pt模型文件 1.onnx2torch转换及测试2.存在问题参考文献 从pytorch格式转onnx格式,官方有成熟的API;那么假如只有onnx格式的模型文件,该怎样转回pytorch格式? https://github.com/ENOT-AutoDL/onnx2torch提供了…...
智能座舱人机交互升级
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 所谓鸡汤,要么蛊惑你认命,要么怂恿你拼命,但都是回避问题的根源&…...
RabbitMQ中点对点(Point-to-Point)通讯方式的Java实现
RabbitMQ是一个广泛使用的开源消息代理软件,它实现了高级消息队列协议(AMQP)。RabbitMQ支持多种消息传递模式,其中最基本的是点对点(Point-to-Point)通讯方式。在这种模式下,消息生产者将消息发…...
爬虫实战:获取1688接口数据全攻略
引言 在电商领域,数据的重要性不言而喻。1688作为中国领先的B2B电商平台,提供了海量的商品数据。通过爬虫技术获取这些数据,可以帮助企业进行市场分析、价格监控和供应链管理。本文将详细介绍如何使用Python爬虫技术合法合规地获取1688接口数…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...
JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...
如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...
并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...
Vue ③-生命周期 || 脚手架
生命周期 思考:什么时候可以发送初始化渲染请求?(越早越好) 什么时候可以开始操作dom?(至少dom得渲染出来) Vue生命周期: 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...
HybridVLA——让单一LLM同时具备扩散和自回归动作预测能力:训练时既扩散也回归,但推理时则扩散
前言 如上一篇文章《dexcap升级版之DexWild》中的前言部分所说,在叠衣服的过程中,我会带着团队对比各种模型、方法、策略,毕竟针对各个场景始终寻找更优的解决方案,是我个人和我司「七月在线」的职责之一 且个人认为,…...
Java数组Arrays操作全攻略
Arrays类的概述 Java中的Arrays类位于java.util包中,提供了一系列静态方法用于操作数组(如排序、搜索、填充、比较等)。这些方法适用于基本类型数组和对象数组。 常用成员方法及代码示例 排序(sort) 对数组进行升序…...
