Fiddler断点(拦截)--篡改请求后或者响应前数据

目录

一、断点介绍

图例

简单介绍:

详细介绍: 

二、操作步骤

文章操作资源下载

(一)设置要抓包的地址

(二)全局拦截(断点)

1.请求后拦截(Before Request) 

解开拦截

2.响应前拦截(After Responses)

解开拦截

(三)单个拦截(断点)

3.拦截单个请求后

先获取到要拦截的目标接口

拦截

篡改与否后运行

页面验证 

解开拦截

验证

4.拦截单个响应前

拦截 

验证

 篡改与否的运行

​编辑 页面验证

解开拦截


一、断点介绍

图例

请求后断点(拦截)

+------------------+        +-----------------+        +-------------------+        +-----------------+
|  HTTP 请求       |  ----> | 请求拦截(Fiddler暂停) |  ----> | 发送到服务器        |  ----> | 服务器处理请求  |
+------------------+        +-----------------+        +-------------------+        +-----------------+
                               |
                               v
                   修改请求(例如修改请求头、请求参数等)
                               |
                               v
                     继续发送请求到服务器

响应前断点(拦截)

+-----------------+        +------------------+        +--------------------+        +----------------+
|  服务器响应     |  ----> | 响应拦截(Fiddler暂停) |  ----> | 返回客户端         |  ----> | 客户端处理响应  |
+-----------------+        +------------------+        +--------------------+        +----------------+
                               |
                               v
                    修改响应(例如修改响应头、响应体、状态码等)
                               |
                               v
                   继续返回响应到客户端
 

简单介绍:

fiddler就是客户端和服务端的代理,打断点可以在请求和响应之前查看或者篡改数据,测试的时候可以绕过前端,测试后端的反应。 有两种分为请求后拦截,还有一种是响应前拦截

详细介绍: 

Fiddler 的断点功能允许开发者在 HTTP 请求和响应的生命周期中暂停流量,以便查看和修改内容,帮助调试和分析 Web 流量。

  1. 请求断点(Break on Request):

    • 在 HTTP 请求发送到服务器之前暂停。
    • 允许你查看和修改请求内容(如 URL、请求头、参数等)。
  2. 响应断点(Break on Response):

    • 在服务器返回的响应到达客户端之前暂停。
    • 允许你查看和修改响应内容(如响应头、响应体等)。
  3. 用途

    • 调试 API 请求、模拟不同的请求/响应场景。
    • 修改请求/响应数据,进行功能测试或模拟错误。

通过这些断点功能,Fiddler 帮助开发者精确调试和优化 Web 应用与服务器的通信。

二、操作步骤

文章操作资源下载

下载安装fiddler:

Fiddler(抓包测试工具)下载安装步骤-CSDN博客

使用的测试系统

项目:

https://download.csdn.net/download/m0_52861000/90171333?spm=1001.2014.3001.5503

项目部署步骤参考:

Linux导入与运行项目详细步骤_linux上运行项目-CSDN博客

登录的地址(ip地址改为自己Linux里面的)

http://192.168.124.119:8080/cms/manage/login.do

账号:admin

密码:123456

(一)设置要抓包的地址

设置要抓包的地址后,fiddler就不会把各种网站的包都抓了,那样找起来自己想要的比较麻烦,所有设置只想要抓的包地址就可以了

1.Filters

2.勾选Use Filters

3.第二个框选择show only the following Hosts

4.框内输入自己要抓包的地址(分号后面是可以添加多个地址,用;分号隔开)

5.点击Actions

6.选择Run Filterset now

(二)全局拦截(断点)

全局拦截就是开启请求后或者响应前设置后。被抓包的任何请求或者响应数据都会被拦截下来

1.请求后拦截(Before Request) 

1.在fiddler里面设置开启请求后拦截。Rules--Automatic Breakpoints--Before Requests

2.然后去要验证的网站试试登录,输入账号密码,点击登录

ps:会发现点击登录不进去(因为这个客户端发送到服务器的请求已经被拦截下来了) 

http://192.168.xx.xx:8080/cms/manage/login.do

3.再打开fiddler,就可以发现这个登录请求已经被拦截了。 

ps:可以篡改请求参数 

4.篡改请求的参数,然后点击发送

ps:我把这里原有的密码123456改为了66666666

5.得到篡改后的响应结果

解开拦截

 

 

2.响应前拦截(After Responses)

1. 在fiddler里面设置开启响应前设置。Rules--Automatic Breakpoints--After Responses

 

2.然后去要验证的网站试试登录,输入账号密码,点击登录。

ps:会发现点击登录不进去(因为这个服务器响应回来到客户端的数据已经被拦截下来了)

http://192.168.xx.xx:8080/cms/manage/login.do

3.打开fiddler,发现响应回来的数据已经获取到了,但是拦截下来了,没有响应给客户端 

4.篡改服务器响应回来客户端的数据 

 

5.请求响应通了,没有被拦截了。但是响应回来客户端的数据也被篡改成为登录失败了,所以还是页面还是登录不进去

解开拦截

 

(三)单个拦截(断点)

3.拦截单个请求后

先获取到要拦截的目标接口

1.先把全局请求和响应拦截关闭,切换成都可以通过的Disabled

2.登录进系统,打算只对这个用户管理进行断点操作,点击它,让fiddler抓包工具先抓到下

 

3.根据绿色就是接口拿到查询用户的接口链接

 

拦截

在fiddler使用命令dpu进行拦截单个目标接口

4.在左下角输入命令,然后进行回车

bpu http://192.168.xx.xx:8080/cms/manage/queryUserList.do

bpu+空格+要拦截的指定单个接口url

ps:这个接口就是上面获取到的那个查询用户的接口 

 

5.然后把这个被测试的系统退出登录,再重新登录进去,点击这个被拦截的用户管理系统接口,发现已经打不开了,资源已经被拦截了。

篡改与否后运行

6.对拦截的请求进行篡改运行,如果不篡改进行运行,那么被拦截的资源就会被放开,页面就可以正常的进行显示了。

 

页面验证 

7.不篡改任何参数点击run to Completion运行,那么页面就可以正常显示查询到用户了

解开拦截

因为之前对用户管理的解开进行了拦截,只要退出登录再进去运行这个接口还是会被拦截,那么现在就来把这个接口进行解开。

1.在fiddler里面左下角输入接口命令,然后回车

bpu 

bpu+空格

验证

2.退出登录页面,再重新进入用户管理页面,发现已经没有被拦截了

 

4.拦截单个响应前

拦截 

1.使用命令拦截登录响应前的接口,然后回车

bpafter http://192.168.xx.xx:8080/cms/manage/loginJump.do

bpafter+空格+要拦截的接口url,然后回车

验证

2.输入账号密码点击登录,发现已经登录不进去了,这是因为响应回来的数据被拦截了

 篡改与否的运行

3.打开fiddler可以看到登录的响应数据已经被拦截下来了,可以对响应回来的数据进行篡改,然后点击运行就好了,如果不篡改就运行的话,那么本次拦截就会被放开

 页面验证

4.不篡改响应回来的数据,直接点击run to Completion运行,那么页面就会登录进去了

 

解开拦截

1.在fiddler里面输入命令bpafter+空格进行回车就可以解开这个登录接口响应的拦截了

bpafter 

 

2.退出系统再重新登录,发现没有拦截了

 

有什么问题都可以评论区留言,看见都会回复的

如果你觉得本篇文章对你有所帮助的,把“文章有帮助的”打在评论区

多多支持吧!!!

点赞收藏评论,当然也可以点击文章底部的红包或者👇订阅付费文章创作支持一下了。抱拳了!

vip文章:

https://blog.csdn.net/m0_52861000/category_12272616.html

bug文章大全

https://blog.csdn.net/m0_52861000/category_12215546.html

口令大全:

各种资料回复大全

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【ArcGIS Pro/GeoScene Pro】可视化时态数据

可视化过去二十年新西兰国际旅游业的发展变化 工程数据下载 ArcGIS Pro 快速入门指南—ArcGIS Pro | 文档 添加数据 数据为中国旅客数据 转置表字段 列数据转行数据

【基础篇】三、MySQL表结构的操作

文章目录 Ⅰ. 创建表1、语法2、创建表样例3、创建和其它表一样结构的表 Ⅱ. 查看表结构1、查看数据库中的表2、查看指定表的属性3、获取表的创建语句 Ⅲ. 删除表Ⅳ. 修改表结构1、向表中插入新的字段2、删除表中的字段3、修改表名4、修改字段属性 Ⅰ. 创建表 1、语法 create …

小程序租赁系统开发的优势与应用探索

内容概要 在如今这个数码科技飞速发展的时代,小程序租赁系统开发仿佛是一张神奇的魔法卡,能让租赁体验变得顺畅如丝。想象一下,无论你需要租用什么,从单车到房屋,甚至是派对用品,只需动动手指,…

ArcGIS教程(009):ArcGIS制作校园3D展示图

文章目录 数据下载校园3D展示图制作创建要素类矢量化【楼】要素矢量化【绿地】矢量化【范围】矢量化处理打开ArcScene添加动画数据下载 https://download.csdn.net/download/WwLK123/90189025校园3D展示图制作 创建要素类 添加底图: 新建【文件地理数据库】,并修改名称为【…

Secured Finance 与 Parasail 在流动性质押领域开展合作

Secured Finance 宣布与 Parasail 达成战略合作,标志着生态在推进 DePIN 及人工智能生态系统能力的重要里程碑。此次合作将 Parasail 卓越的质押方案与 Secured Finance 在去中心化贷款和稳定币协议方面的专业能力相结合,为 Filecoin 生态系统内的创新金…

pytorch基础之注解的使用--003

Title 1.学习目标2.定义3.使用步骤4.结果 1.学习目标 针对源码中出现一些注解的问题,这里专门写一篇文章进行讲解。包括如何自定义注解,以及注意事项,相信JAVA中很多朋友业写过,但是今天写的是Python哦。。。 2.定义 在 Python…

!倒序数 !

时间限制:C/C 1000MS,其他语言 2000MS 内存限制:C/C 256MB,其他语言 512MB 难度:中等 分数:100 OI排行榜得分:12(0.1*分数2*难度) 描述 输入一个非负整数,输出这个数的倒序数。例如…

【Redis】Redis 典型应用 - 缓存 (cache)

目录 1. 什么是缓存 2. 使用 Redis 作为缓存 3. 缓存的更新策略 3.1 定期生成 3.2 实时生成 4. 缓存的淘汰策略 5. 缓存预热, 缓存穿透, 缓存雪崩 和 缓存击穿 关于缓存预热 (Cache preheating) 关于缓存穿透 (Cache penetration) 关于缓存雪崩 (Cache avalanche) 关…

《燕云十六声》d3dcompiler_47.dll缺失怎么解决?

一、d3dcompiler_47.dll缺失的原因 系统更新或升级:Windows系统的更新可能会更改或删除某些旧版本的DirectX组件,包括d3dcompiler_47.dll。游戏安装不完整:游戏安装过程中可能出现中断或错误,导致某些必要的文件未能正确安装。软…

RT-Thread中堆和栈怎么跟单片机内存相联系

现在RT-ThreadMCU的应用方式越来越普遍,RT-Thread需要配置MCU中的RAM到的系统中,进入系统内存管理,才能提供给基于实时系统的应用程序使用,比如给应用程序提供malloc、free等函数调用功能。在嵌入式软件开发中,我们经常…

Qt https请求报错SSL handshake failed 解决思路方法

先执行下面代码 qDebug() << manager.supportedSchemes();bool bSupp QSslSocket::supportsSsl();auto buildVersion QSslSocket::sslLibraryBuildVersionString();QString version QSslSocket::sslLibraryVersionString();qInfo() << bSupp << buildVers…

从CW32L010看HAL库封装方式

原文地址&#xff1a;从CW32L010看HAL库封装方式

锐捷WLAN产品出货量排名第一!

摘要:2024年Q3锐捷WLAN产品出货量排名第一!锐捷多形态Wi-Fi 7产品重磅出击! 近日, IT市场研究和咨询公司IDC发布《IDC中国企业级WLAN市场跟踪报告,2024年Q3》。报告显示,锐捷WLAN产品在2024年Q3出货量位居行业首位。至此,锐捷WLAN产品在2024年的Q1、Q2、Q3均实现了市场出货量的…

【Maven_bugs】The project main artifact does not exist

背景&#xff1a;我想使用 maven-shade-plugin 打一个 fat jar 时报了标题中的错误&#xff0c;使用的命令是&#xff1a;org.apache.maven.plugins:maven-shade-plugin:shade -pl :shade-project。项目结构如下图&#xff0c;我想把子模块 shade-project 打成一个 fat jar&…

React组件化开发

root.render 函数的参数是一个 HTML 元素或一个组件&#xff0c;所以可以将业务逻辑封装到一个组件中&#xff0c;然后传入到 ReactDOM.render 函数中的第一个参数。 在 react 中&#xff0c;可以使用类的方式封装组件&#xff1a; 定义一个类(类名大写&#xff0c;组件的名称…

《以太全光:依循标准规范,奏响医院网络建设 “光” 之乐章》

在当今数字化浪潮的席卷下,医疗行业正以前所未有的速度踏上智能化转型的征程。在这场变革中,网络架构作为支撑医疗行业的基础设施,扮演着至关重要的角色。那么,究竟哪种网络架构才是医疗行业网络建设的理想选择呢? 近期,住房城乡建设部发布的《综合医院建筑设计标准》给出了明…

【网络安全实验室】基础关实战详情

须知少时凌云志,曾许人间第一流 1.key在哪里 url&#xff1a;http://rdyx0/base1_4a4d993ed7bd7d467b27af52d2aaa800/index.php 查看网页源代码的方式有4种&#xff0c;分别是&#xff1a;1、鼠标右击会看到”查看源代码“&#xff0c;这个网页的源代码就出现在你眼前了&…

【Qt】容器控件、布局管理控件

目录 容器控件 QGroupBox QTabWidget 布局管理控件 QVBoxLayout 例子&#xff1a; QHBoxLayout 例子&#xff1a; QGridLayout 例子&#xff1a; 例子&#xff1a; QFormLayout 例子&#xff1a; QSpacerItem 例子&#xff1a; 容器控件 QGroupBox 表示一个带有…

Lucene 漏洞历险记:修复损坏的索引异常

作者&#xff1a;来自 Elastic Benjamin Trent 有时&#xff0c;一行代码需要几天的时间才能写完。在这里&#xff0c;我们可以看到工程师在多日内调试代码以修复潜在的 Apache Lucene 索引损坏的痛苦。 做好准备 这篇博客与往常不同。它不是对新功能或教程的解释。这是关于花…

【最新】沃德协会管理系统源码+uniapp前端+环境教程

一.系统介绍 一款基于FastAdminThinkPHPUniapp开发的商协会系统&#xff0c;新一代数字化商协会运营管理系统&#xff0c;以“智慧化会员体系、智敏化内容运营、智能化活动构建”三大板块为基点&#xff0c;实施功能全场景覆盖&#xff0c;一站式解决商协会需求壁垒&#xff0…