《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(14)-Fiddler断点(breakpoints)实战,篡改或伪造数据

1.简介

上一篇主要就讲解和分享Fiddler断点的理论和操作,今天宏哥就用具体例子,将上一篇中的理论知识实践一下。而且在实际测试过程中,有时候需要修改请求或响应数据,或者直接模拟服务器响应,此时可以使用fiddler进行此类操作。可以使用断点功能完成。

2.断点调试可以实现的效果

  1. 修改HTTP请求头信息。例如修改请求头的UA, Cookie, Referer 信息,通过“伪造”相应信息达到达到相应的目的(调试,模拟用户真实请求等)。

  2. 构造请求数据,突破表单的限制,随意提交数据。避免页面js和表单限制影响相关调试。

  3. 拦截响应数据,修改响应实体通过断点可以实现的结果。

3.篡改或者伪造请求数据

从上一篇中我们知道:在发起请求后,需要篡改或者伪造请求的数据时,可以设置请求前设置断点。演示场景:宏哥这里以百度搜索“上海-宏哥”向服务器发送请求,然后用Fiddler抓取请求并打上断点,让请求没有发送到服务器,然后修改请求将搜索信息篡改成“北京-宏哥”,然后结束断点将篡改伪造后的请求发送到服务器。服务器返回“北京宏哥”的响应信息。具体操作步骤如下:

图片

 如果你想学习接口自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的接口自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386    

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1.【接口自动化】目前软件测试的市场行情以及测试人员能力标准。、2.【接口自动化】全面熟练Requests库以及底层方法调用逻辑、3.【接口自动化】接口自动化实战及正则和JsonPath提取器的应用等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337.search-card.all.click 

3.1设置请求前断点

1.打开FIddler,Rules--Automatic breakpoints--before request(或者按F11键)这种方式的断点会对所有请求生效或者在命令行中,输入bpu 域名这种方式只会对配置的域名添加断点,访问其他的可以正常访问,不会有断点。如下图所示:

 

3.2修改请求信息

1.浏览器搜索“上海-宏哥”,一直在等待中,说明断点成功选中请求,进入Inpectors选择对应的选项修改请求信息,如下图所示:

2.修改完请求数据,然后释放断点,点击“Run to Completion”。如下图所示:

  

3.查看Fiddler返回的响应是“北京-宏哥”,说明宏哥篡改伪造数据成功。如下图所示:

4.查看浏览器信息搜索的是“北京-宏哥”,如下图所示:

4.篡改或者伪造响应数据

同样利用上一篇宏哥的理论知识我们知道:在发起请求,需要修改响应数据时,可以设置请求前断点/响应后断点两种,区别就是在设置为请求前的断点时,需要多点击一步然后就会变成响应后断点。演示场景:宏哥访问宏哥的博客主页,按理说就会返回宏哥博客主页的响应信息,但是此时利用Fiddler打了断点,服务器的响应信息还不会返回到浏览器客户端,宏哥此时将Fiddler中响应信息的title和主页的“北京-宏哥”修改“上海-宏哥”,然后释放断点返回响应到浏览器客户端,看一下是不是变成宏哥修改的结果。具体操作步骤如下:

图片

4.1设置响应后断点

1.启动Fiddler,点击Rules--Automatic breakpoints--after response(或者按alt+F11键)这种方式的断点会对所有请求生效或者在命令行中,输入bpafter 域名这种方式只会对配置的域名添加断点,访问其他的可以正常访问,不会有断点。如下图所示:

4.2修改响应信息

1.浏览器访问宏哥的博客园主页,一直在等待中,说明断点成功,如下图所示:

2.选中请求,在这一步时一定要注意如果有“response body is encoded.click to ecode显示时,一定要先点击后,再去修改响应数据。未操作直接修改响应数据后,会导致响应存在问题。如下图所示: 

 

3.点击完成,进入Inpectors选择对应的选项修改响应信息(将“北京-宏哥”修改成“上海-宏哥”),如下图所示:

 

4.修改完响应数据,然后释放断点,点击“Run to Completion”。如下图所示:

5.查看浏览器显示返回的响应是“上海-宏哥”,说明宏哥篡改伪造数据成功。如下图所示:

 

5.模拟响应

在一些情况下,不使用实际返回的请求数据,或服务暂时不能返回,例如:后台还没有开发好。此时就可以使用fiddler进行模拟返回数据。

如果需要模拟返回自己配置的响应数据,需要先提前配置好文件,再进行读取。演示场景:宏哥这里模拟访问百度,按理说响应是百度首页,然后宏哥模拟的是响应为一个本地文件html,而这个本地文件会自动跳转到宏哥的博客园首页。具体操作步骤如下:

5.模拟响应

在一些情况下,不使用实际返回的请求数据,或服务暂时不能返回,例如:后台还没有开发好。此时就可以使用fiddler进行模拟返回数据。

如果需要模拟返回自己配置的响应数据,需要先提前配置好文件,再进行读取。演示场景:宏哥这里模拟访问百度,按理说响应是百度首页,然后模拟的是响应为一个本地文件html,而这个本地文件会自动跳转到=博客园首页。具体操作步骤如下:

1.设置响应后断点,这里宏哥就不赘述了,应该很简单了。

2.选中请求,进入Inpectors选择对应的选项修改响应信息。

如果是模拟返回请求失败相关的,可以直接在下拉列表中,进行选择;如果是自己定制的,点击“find a file”进行文件的选择。

选择列表项/文件后,点击Run to Completion返回响应数据,操作完成。

 

6.小结

6.1篡改伪造请求或者响应数据的大致流程

1.当使用命令行设置断点时,则是命令 + url

2.修改请求或者响应结果的内容

3.页面查看结果

4.取消断点 则只需要执行对应的命令即可

5.若忘记命令 则输入bp breakpoint的缩写,就会看到提示

6.2终止断点的方式

1.在inspector界面点击“run to complete”即可终止本次http请求的断点。

2.输入GO命令,也会使得当前的请求跳过断点。

3.在Rules--Automatic breakpoints--disabled(或者按shift+F11键)断点即可。

4.命令行:如果是before request---使用bpu取消;如果是after response---使用bpafter。

5.快捷设置:直接用鼠标把下图中的断点图标点击到没有标识。

 

 

 

 

 

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

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

相关文章

js的sendBeacon方法介绍

js的sendBeacon方法介绍 Beacon API是一种轻量级且有效的将网页活动记录到服务器的方法。它是一个 JavaScript API,可帮助开发人员将少量数据(例如分析或跟踪信息、调试或诊断数据)从浏览器发送到服务器。 在本文中,我们将介绍B…

容斥原理 训练笔记

​ 容斥原理 设S是一个有限集&#xff0c;A_1,A_2…A_n是S的n个子集&#xff0c;则 ∣ S − ⋃ i 1 n A i ∣ ∑ i 0 n ( − 1 ) i ∑ 1 ≤ j 1 < j 2 . . . < j i ≤ n ∣ ⋂ k 1 i A j k ∣ |S-\bigcup_{i1}^{n}A_i|\sum_{i0}^{n}(-1)^i\sum_{1\leq j_1< j_2.…

基于长短期神经网络LSTM的位移监测,基于长短期神经网络的位移预测,LSTM的详细原理

目录 背影 摘要 LSTM的基本定义 LSTM实现的步骤 基于长短期神经网络LSTM的位移监测 完整代码: https://download.csdn.net/download/abc991835105/88098131 效果图 结果分析 展望 参考论文 背影 路径追踪预测,对实现自动飞行驾驶拥有重要意义,长短期神经网络是一种改进党的…

有效三角形的个数

给定一个包含非负整数的数组 nums &#xff0c;返回其中可以组成三角形三条边的三元组个数。 示例 1: 输入: nums [2,2,3,4] 输出: 3 解释:有效的组合是: 2,3,4 (使用第一个 2) 2,3,4 (使用第二个 2) 2,2,3 示例 2: 输入: nums [4,2,3,4] 输出: 4 代码如下&#xff1a;…

力扣75——队列

总结leetcode75中队列的算法题解题思路。 上一篇&#xff1a;力扣75——哈希表/哈希集合 以下代码大部分为本人所写&#xff0c;少部分为官方示例代码。 力扣75——队列 1 最近的请求次数2 Dota2 参议院1-2 解题总结 1 最近的请求次数 题目&#xff1a; 写一个 RecentCounter…

okvis

论文 Keyframe-Based Visual-Inertial SLAM Using Nonlinear Optimization 摘要 由于两种感知模式的互补性&#xff0c;视觉和惯性线索的融合在机器人中变得很流行。虽然迄今为止大多数融合策略都依赖于过滤方案&#xff0c;但视觉机器人界最近转向了非线性优化方法&#x…

【React Native】学习记录(二)——路由搭建和常见的开发技巧

模拟器设置成中文 在开发过程中发现&#xff0c;两个模拟器都不能输入中文&#xff0c;所以需要配置一下。 先说一下安卓&#xff0c;在弹出的输入框中查看设置&#xff0c;设置一下对应的languages即可&#xff1a; 在苹果模拟器中&#xff0c;跟苹果手机一样&#xff0c;打…

树莓派本地快速搭建web服务器,并发布公网访问

文章目录 树莓派本地快速搭建web服务器&#xff0c;并发布公网访问 树莓派本地快速搭建web服务器&#xff0c;并发布公网访问 随着科技的发展&#xff0c;电子工业也在不断进步&#xff0c;我们身边的电子设备也在朝着小型化和多功能化演进&#xff0c;以往体积庞大的电脑也在…

Selenium多浏览器处理

Python 版本 #导入依赖 import os from selenium import webdriverdef test_browser():#使用os模块的getenv方法来获取声明环境变量browserbrowser os.getenv("browser").lower()#判断browser的值if browser "headless":driver webdriver.PhantomJS()e…

为Android构建现代应用——应用架构

选择风格(Choosing a style) 我们将依照Google在《应用架构指南》中推荐的最佳实践和架构指南来构建OrderNow的架构。 这些定义包括通过各层定义组件的一些Clean Architecture原则。 层次的定义(Definition of the layers) 在应用程序中&#xff0c;我们将定义以下主要层次…

小程序创建

1&#xff0c;下载HBuilder X ;(3.8.7) HBuilderX-高效极客技巧 2,下载模板&#xff08;不选云服务的&#xff09;&#xff1b; 3&#xff0c;运行-运行到小程序模拟器&#xff1b; 4&#xff0c;安装小程序开发工具&#xff1b; 5&#xff0c;选择稳定版-windows64版&…

SpringBoot 统⼀功能处理

目录 前言 1.⽤户登录权限效验 1.1、最初⽤户登录效验 1.2、Spring AOP ⽤户统⼀登录验证的问题 1.3、Spring 拦截器 了解 创建一个 Spring 拦截器 的流程 1、 创建自定义拦截器&#xff0c;实现 HandlerInterceptor 接⼝的preHandle&#xff08;执⾏具体⽅法之前的预处理…

win10日程怎么同步到安卓手机?电脑日程同步到手机方法

在如今快节奏的生活中&#xff0c;高效地管理时间变得至关重要。而对于那些经常在电脑上安排日程的人来说&#xff0c;将这些重要的事务同步到手机上成为了一个迫切的需求。因为目前国内使用win10系统电脑、安卓手机的用户较多&#xff0c;所以越来越多的职场人士想要知道&…

Jenkins 安装构建

一、CentOS 安装 1. 使用该存储库 sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key 2. 安装 Java yum install fontconfig java-11-openjdk配…

NAND flash的坏块

NAND flash的坏块 1.为什么会出现坏块 由于NAND Flash的工艺不能保证NAND的Memory Array&#xff08;由NAND cell组成的阵列&#xff09;在其生命周期中保持性能的可靠&#xff08;电荷可能由于其他异常原因没有被锁起来。因此&#xff0c;在NAND的生产中及使用过程中会产生坏…

ESP32(MicroPython) 四足机器人(五)功能补充

本次更新增加了前后倾斜&#xff08;每次动作交换前部和后部高度&#xff09;、蹲起与抬脚动作&#xff0c;均位于用于连续执行动作的function函数中&#xff0c;但实测抬脚动作需要先启动function函数的另一项功能才能正常开启&#xff0c;代码检查无误&#xff0c;应该是Micr…

解决eclipse 打开报错 An error has occurred. See the log file null.

解决eclipse 打开报错an error has ocurred. See the log file null 出现原因&#xff1a;安装了高版本的jdk,更换 jdk 版本&#xff0c;版本太高了。 解决方案&#xff1a;更改环境变量 改成 jkd 1.8

【深度学习实践】垃圾检测

简介 本项目使用深度学习目标检测开源框架PaddleDetection中的yolox算法实现了垃圾检测&#xff0c;本文包含了从头训练yolox模型和直接使用训练好的模型进行推理的代码及相关权重。 一、数据集准备 本次训练的数据集为coco格式&#xff0c;共包含150张垃圾的照片&#xff0…

F5 LTM 知识点和实验 6-使用虚拟服务器处理流量

第六章:使用虚拟服务器处理流量 virtual server 类型 前几章描述的场景,可以简单总结为,F5设备终结了一个会话,在client-side充当服务端,在server-side充当客户端,完成了一个全代理过程,这种模型的vs类型被称为标准类型。一般在你需要将流量做负载等场景时需要。 但是…

利用小波分解信号,再重构

function [ output_args ] example4_5( input_args ) %EXAMPLE4_5 Summary of this function goes here % Detailed explanation goes here clc; clear; load leleccum; s leleccum(1:3920); % 进行3层小波分解&#xff0c;小波基函数为db2 [c,l] wavedec(s,3,db2); %进行…