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代理服务器配置中标红字段

文章原创,欢迎转载,请注明文章出处

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/490061.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RabbitMQ实现消息发送接收——实战篇(路由模式)

本篇博文将带领大家一起学习rabbitMQ如何进行消息发送接收,我也是在写项目的时候边学边写,有不足的地方希望在评论区留下你的建议,我们一起讨论学习呀~ 需求背景 先说一下我的项目需求背景,社区之间可以进行物资借用&#xff0c…

Python的3D可视化库【vedo】2-1 (plotter模块) 绘制器的使用

文章目录 1 相关用语及其关系2 Plotter类的基本使用3 Plotter类具体的初始化设置3.1 全部初始化参数3.2 使用不同的axes vedo是Python实现的一个用于辅助科学研究的3D可视化库。 vedo的plotter模块封装了绘制器类Plotter。 Plotter实例可以用于显示3D图形对象、控制渲染器行为、…

【开源大屏】玩转开源积木BI,从0到1设计一个大屏

积木 BI 重磅推出免费大屏设计器!功能超强大,操作超流畅,体验超酷炫。快来体验一下吧。 让我们一起来看一下如何从0到1设计一个大屏。 一、积木BI大屏介绍 积木BI可视化数据大屏 是一站式数据可视化展示平台,旨在帮助用户快速通…

微信小程序--创建一个日历组件

微信小程序–创建一个日历组件 可以创建一个日历组件&#xff0c;来展示当前月份的日期&#xff0c;并支持切换月份的功能。 一、目录结构 /pages/calendarcalendar.wxmlcalendar.scsscalendar.jscalendar.json二、calendar.wxml <view class"calendar"><…

【Python网络爬虫笔记】11- Xpath精准定位元素

目录 一、Xpath 在 Python 网络爬虫中的作用&#xff08;一&#xff09;精准定位元素&#xff08;二&#xff09;应对动态网页&#xff08;三&#xff09;数据结构化提取 二、Xpath 的常用方法&#xff08;一&#xff09;节点选取&#xff08;二&#xff09;谓词筛选&#xff0…

现代密码学总结(上篇)

现代密码学总结 &#xff08;v.1.0.0版本&#xff09;之后会更新内容 基本说明&#xff1a; ∙ \bullet ∙如果 A A A是随机算法&#xff0c; y ← A ( x ) y\leftarrow A(x) y←A(x)表示输入为 x x x ,通过均匀选择 的随机带运行 A A A,并且将输出赋给 y y y。 ∙ \bullet …

深度学习训练参数之学习率介绍

学习率 1. 什么是学习率 学习率是训练神经网络的重要超参数之一&#xff0c;它代表在每一次迭代中梯度向损失函数最优解移动的步长&#xff0c;通常用 η \eta η 表示。它的大小决定网络学习速度的快慢。在网络训练过程中&#xff0c;模型通过样本数据给出预测值&#xff0…

lc46全排列——回溯

46. 全排列 - 力扣&#xff08;LeetCode&#xff09; 法1&#xff1a;暴力枚举 总共n!种全排列&#xff0c;一一列举出来放入list就行&#xff0c;关键是怎么去枚举呢&#xff1f;那就每次随机取一个&#xff0c;然后删去这个&#xff0c;再从剩下的数组中继续去随机选一个&a…

Docker 安装 Seata2.0.0 (快速配置)

说明&#xff1a;已安装Docker、MySql等&#xff0c;案例使用Mysql数据库模式、Nacos配置信息 1、准备工作 1.1 拉取镜像 [rootTseng ~]# docker pull seataio/seata-server:2.0.0 2.0.0: Pulling from seataio/seata-server 001c52e26ad5: Already exists d9d4b9b6e964: P…

渗透测试-前端验签绕过之SHA256+RSA

本文是高级前端加解密与验签实战的第2篇文章&#xff0c;本系列文章实验靶场为Yakit里自带的Vulinbox靶场&#xff0c;本文讲述的是绕过SHA256RSA签名来爆破登录。 绕过 根据提示可以看出这次签名用了SHA2556和RSA两个技术进行加密。 查看源代码可以看到RSA公钥是通过请求服务…

【JavaEE】网络(2)

一、网络编程套接字 1.1 基础概念 【网络编程】指网络上的主机&#xff0c;通过不同的进程&#xff0c;以编程的方式实现网络通信&#xff1b;当然&#xff0c;我们只要满足进程不同就行&#xff0c;所以即便是同一个主机&#xff0c;只要是不同进程&#xff0c;基于网络来传…

《操作系统 - 清华大学》7 -1:全局页面置换算法:局部页替换算法的问题、工作集模型

文章目录 1. 局部页替换算法的问题2. 全局置换算法的工作原理3. 工作集模式3.1 工作集3.2 工作集的变化 4 常驻集 1. 局部页替换算法的问题 局部页面置换算法 OPT&#xff0c;FIFO&#xff0c;LRU&#xff0c;Clock 等等&#xff0c;这些算法都是针对一个正在运行的程序来讲的…

SpringCloud和Nacos的基础知识和使用

1.什么是SpringCloud ​   什么是微服务&#xff1f; ​   假如我们需要搭建一个网上购物系统&#xff0c;那么我们需要哪些功能呢&#xff1f;商品中心、订单中心和客户中心等。 ​   当业务功能较少时&#xff0c;我们可以把这些功能塞到一个SpringBoot项目中来进行…

LLMs之APE:基于Claude的Prompt Improver的简介、使用方法、案例应用之详细攻略

LLMs之APE&#xff1a;基于Claude的Prompt Improver的简介、使用方法、案例应用之详细攻略 目录 Prompt Improver的简介 0、背景痛点 1、优势 2、实现思路 Prompt优化 示例管理 提示词评估 Prompt Improver的使用方法 1、使用方法 Prompt Improver的案例应用 1、Kap…

CMake简单使用(二)

目录 五、scope 作用域5.1 作用域的类型5.1.1 全局作用域5.1.2 目录作用域5.1.3 函数作用域 六、宏6.1 基本语法6.2 演示代码 七、CMake构建项目7.1 全局变量7.2 写入源码路径7.3 调用子目录cmake脚本7.4 CMakeLists 嵌套(最常用) 八、CMake 与库8.1 CMake生成动静态库8.1.1 动…

ASP.NET |日常开发中读写XML详解

ASP.NET &#xff5c;日常开发中读写XML详解 前言一、XML 概述1.1 定义和结构1.2 应用场景 二、读取 XML 文件2.1 使用XmlDocument类&#xff08;DOM 方式&#xff09;2.2 使用XmlReader类&#xff08;流方式&#xff09; 三、写入 XML 文件3.1 使用XmlDocument类3.2 使用XmlWr…

自动化测试之单元测试框架

单元测试框架 一、单元测试的定义 1&#xff1a;什么是单元测试&#xff1f; 还记不记得我们软件测试学习的时候&#xff0c;按照定义&#xff1a;单元测试就是对单个模块或者是单个函数进行测试&#xff0c;一般是开发做的&#xff0c;按照阶段来分&#xff0c;一般就是单元…

JAVA爬虫获取1688关键词接口

以下是使用Java爬虫获取1688关键词接口的详细步骤和示例代码&#xff1a; 一、获取API接口访问权限 要使用1688关键词接口&#xff0c;首先需要获取API的使用权限&#xff0c;并了解接口规范。以下是获取API接口的详细步骤&#xff1a; 注册账号&#xff1a;在1688平台注册一…

【游戏设计原理】8 - 霍华德的隐匿性游戏设计法则

1. 霍华德的隐匿性游戏设计法则 霍华德的隐匿性游戏设计法则的核心思想是&#xff1a;“秘密的重要性与其表面上的无辜性和完整度成正比”。这意味着&#xff0c;当游戏开始时&#xff0c;设计上越是简洁、无害、直观的元素&#xff0c;隐藏的深层意义和转折就会显得更加震撼和…

k8s中用filebeat文件如何收集不同service的日志

以下是一个详细的从在 Kubernetes 集群中部署 Filebeat&#xff0c;到实现按web-oper、web-api微服务分离日志并存储到不同索引的完整方案&#xff1a; 理解需求&#xff1a;按服务分离日志索引 在 Kubernetes 集群中&#xff0c;有web-oper和web-api两种微服务&#xff0c;希…