当前位置: 首页 > news >正文

《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(16)-Fiddler如何充当第三者再识AutoResponder标签-上

1.简介

Fiddler充当第三者,主要是通过AutoResponder标签在客户端和服务端之间,Fiddler抓包,然后改包,最后发送。AutoResponder这个功能可以算的上是Fiddler最实用的功能,可以让我们修改服务器端返回的数据,例如:让返回都是HTTP404或者读取本地文件作为返回内容。宏哥将在实例中介绍利用AutoResponse功能。

2.应用场景

简单介绍几个应用场景:

场景一:生产环境的请求重定向到本地文件,验证结果。这个在实际工作中经常会遇到。

例如:某网站或者系统、APP修改了问题,但尚未更新到生产环境,而且有些客户停机停服务的申请特别的啰嗦麻烦(如:国企各种流程审批)还有些客户惹不起都不敢轻易停机停服务,停机发一次版本是相当不容易的,。此时我们就可以重定向到本地修改后的文件进行验证,这样能够避免更新到生产环境后才发现问题。

场景二:修改响应结果,模拟接口测试。也可以绕过前端页面的JS验证,测试接口是否存在问题。

例如:当我们进行登录操作的时候,如果手机号输入地不规范,前端的校验就进行拦截了。

场景三:连接某些不安全的wifi时,钓鱼者可能会利用篡改某些访问的JS文件弹出窗口或链接,重定向到不安全的网站。温馨提醒:尽量不要使用不安全的wifi上网。

  如果你想学习接口自动化测试,我这边给你推荐一套视频,这个视频可以说是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.实战应用

3.1实战-本地调试文件

本地调试的文件很多,例如:html文件、css文件、js文件、图片文件等各种类型的文件,其处理和操作步骤一致,宏哥这里就以js文件为例讲解和分享一下供大家参考。

1.启动Fiddler,访问简书首页,任意选中一个js文件会话,然后点击“AutoResponder”,然后点击“Add Rule”添加一个新规则。如下图所示:

2.修改新增规则的拦截地址(编辑规则,让该请求访问本地的test.js文件)。如下图所示:

3.把选中会话的js文件,点击“Inspectors”,然后点击“解码”,复制到本地的test.js文件中。如下图所示:

 

4.在最前边(顶部)加上一行“alert("我被'北京-宏哥'劫持修改了!!!");”。如下图所示:

 

5.再次进行简书首页访问,查看结果。结果页面弹出了alert窗口,说明请求最终访问了本地的test.js文件。如下图所示:

 

6.选中那条js会话请求,点击“Inspectors”查看js文件,结果开头看到宏哥加的哪一行代码“alert("我被'北京-宏哥'劫持修改了!!!");”。如下图所示:

 

3.2实战-修改返回的图片(图片重定向)

以 https://www.baidu.com 主页面为例,将主页百度logo图片重定向到宏哥博客园中公众号二维码图片。

宏哥这里以度娘为例按照前边基础理论知识的操作步骤实践一下。如当我们请求百度页面的时候, 会抓取到其中一个百度logo图片会话,最后把这个图片会话响应给替换成其他资源图片。

1.宏哥首先在Fiddler中的Inspectors结合会话列表找到百度logo这个图片的连接资源URL地址: 可能有多个。如下图所示:

2.切换到AutoResponder选项卡, 在Rule Editor规则编辑中填入要请求的资源地址(度娘logo的图片地址)和替换成的响应地址(宏哥二维码的地址,这个地址可以是网上的,也可以是本地图片的绝对路径),最后点击save保存一下, 就可以了。宏哥这里将其替换成宏哥公众号的二维码。如下图所示:

 

3.保存以后,刷新浏览器,再次重新访问度娘后,查看到logo被替换成了宏哥的公众号二维码,这是因为你再次请求百度页面的时候,如果再次遇见到这个百度logo图片的资源地址,那么请求就会被中间层的Fiddler所劫持并篡改成为我们设置的某个响应资源,并返回给客户端, 明白了吧, 这个响应不是从服务器回来的,而是宏哥人为篡改的。若发现没有替换,可能是浏览器缓存问题,可以去缓存刷新或者清空缓存后再次访问即可。如下图所示:

 

3.3实战-修改访问的URL(URL重定向)

1.启动Fiddler,然后点击“AutoResponder”,然后点击“Add Rule”添加一个新规则。如下图所示:

 2.修改新增规则的拦截地址和重定向地址。如下图所示:

 

3.添加EXACT:后,完全匹配的请求地址才会触发重定向。记得要点击后边的“Save”按钮,如下图所示:

 

4.访问百度首页链接,进行了地址的重定向。输入的是百度首页地址,返回来的是宏哥博客的首页。如下图所示:

 

3.4实战-修改返回的背景色(模拟Mock)

Edit Response也就是自定义编辑响应。我们可以直接编辑服务器返回响应信息的详细内容,然后再返回给客户端。可能小伙伴或者童鞋们在宏哥之前的文章或者截图中,看到宏哥百度的背景色是绿色的,就是因为宏哥在这里修改了的原因。具体步骤如下:

1.将服务器的响应直接拖拽到AutoResponder-自动响应器的规则列表中,如下图所示:

2.选中响应,右键选择编辑响应信息,如下图所示: 

 

3.自定义响应内容,将响应的背景色修改成绿色后,点击“保存”,如下图所示:

 

4.刷新浏览器,再次重新访问度娘后,可以看到度娘页面的背景色变成绿色了,如下图所示: 

 

 

4.小结

Fiddler强大之处就是:响应都可以随便篡改。通过这种中间截获的手段并篡改响应资源的手法就可以实现很多资源响应的修改,如:html、css、js等资源都是可以的。

关于Fiddler的AutoResponder重定向功能,主要是进行会话的拦截,然后替换原始资源的功能。它与手动修改Reponse是一样的,只是更加方便了,可以创建相应的rules,适合批处理的重定向功能。

 

相关文章:

《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(16)-Fiddler如何充当第三者再识AutoResponder标签-上

1.简介 Fiddler充当第三者,主要是通过AutoResponder标签在客户端和服务端之间,Fiddler抓包,然后改包,最后发送。AutoResponder这个功能可以算的上是Fiddler最实用的功能,可以让我们修改服务器端返回的数据&#xff0c…...

Yolov8新版本解读:优化点如何加入新版本,通过加入EMA注意力进行对比说明

本文目的: 最近yolov8进行了一次较大的更新,对一些优化点加在哪个位置上有些变动,因此本文主要通过具体案列进行对比和说明,以便在新版本上能够轻松上手。 老版本 ultralytics/nn 新版本更新为: modules文件夹下内容如下: 解读: 将modules.py拆分为 1.__init__.…...

NoSQL———Redis配置与优化

目录 一、关系数据库与非关系型数据库 1.1 关系型数据库 1.2 非关系型数据库 1.3 关系型数据库和非关系型数据库区别 1.3.1 非关系型数据库产生背景 二、Redis简介 2.1 redis优点: 三、Redis 安装部署 四、Redis 命令工具 4.1 redis-cli 命令行工具 …...

js,瀑布流

该方法仅满足&#xff0c;元素等宽&#xff0c;高度一般不同的瀑布流布局 计算元素宽度与浏览器宽度之比&#xff0c;得到布局列数&#xff1b;将未布局的元素依次布局至高度最小的那一列&#xff1b;页面滚动时继续加载数据&#xff0c;动态地渲染在页面上。 <div id&quo…...

“深入了解Spring Boot:从入门到精通“

标题&#xff1a;深入了解Spring Boot&#xff1a;从入门到精通 摘要&#xff1a;本文将介绍Spring Boot的基本概念、特性和优势&#xff0c;以及如何使用Spring Boot来开发Java应用程序。通过深入学习Spring Boot的核心组件和常用功能&#xff0c;读者将能够熟练运用Spring B…...

记录时间计算bug getDay()的一个坑

最近在使用时间计算展示当天所在这一周的数据 不免要获取当前时间所在周 // 时间格式整理函数 function formatDate(date) {const year date.value.getFullYear(),month String(date.value.getMonth() 1).padStart(2, 0),day String(date.value.getDate()).padStart(2, 0)…...

【lesson5】linux vim介绍及使用

文章目录 vim的基本介绍vim的基本操作vim常见的命令命令模式下的命令yypnyynpuctrlrGggnG$^wbh,j,k,lddnddnddp~shiftrrnrxnx 底行模式下的命令set nuset nonuvs 源文件wq!command&#xff08;命令&#xff09; vim配置解决无法使用sudo问题 vim的基本介绍 首先vim是linux下的…...

【玩转Linux】Linux输入子系统简介

(꒪ꇴ꒪ ),hello我是祐言博客主页&#xff1a;C语言基础,Linux基础,软件配置领域博主&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff01;送给读者的一句鸡汤&#x1f914;&#xff1a;集中起来的意志可以击穿顽石!作者水平很有限&#xff0c;如果发现错误&#x…...

grid map学习笔记2之grid map的一些常规定义和功能包说明

文章目录 0 引言1 常规定义1.1 单层grid map1.2 多层grid map1.3 迭代器类别1.4 移动grid map的位置 2 功能包2.1 grid_map_rviz_plugin2.2 grid_map_sdf2.3 grid_map_visualization2.3.1 订阅的主题2.3.2 发布的主题 2.4 grid_map_filters 0 引言 grid map学习笔记1已成功在U…...

Python-文件操作

Python文件操作 1. 打开文件 使用open()函数打开文件,指定文件名和模式,常用模式有: r - 读取(默认)w - 写入(会先截断文件)a - 追加b - 二进制模式t - 文本模式(默认) - updating (reading and writing) f open(data.txt,r) # 打开data.txt文件用于读取2. 读取文件 f.re…...

windows中注册redis服务启动时报1067错误

注册完redis服务&#xff0c;打开计算机 服务时确实有redis服务存在&#xff0c;但是点击启动时却报1067错误&#xff0c;而命令行用redis-server.exe redis.windows.conf 命令却也可以启动 查看6379的端口也没有被占用&#xff08;netstat -ano | findstr :6379&#xff09; …...

大数据面试题:HBase的RegionServer宕机以后怎么恢复的?

面试题来源&#xff1a; 《大数据面试题 V4.0》 大数据面试题V3.0&#xff0c;523道题&#xff0c;679页&#xff0c;46w字 可回答&#xff1a;1&#xff09;HBase一个节点宕机了怎么办&#xff1b;2&#xff09;HBase故障恢复 参考答案&#xff1a; 1、HBase常见故障 导…...

ansible的脚本——playbook剧本

目录 一、playbook的组成 二、 playbook安装httpd服务 1.编写playbook剧本 2.运行playbook 三、定义、引用变量 四、 指定远程主机sudo切换用户 五、when条件判断 六、迭代 七、Templates 模块 1.先准备一个以 .j2 为后缀的 template 模板文件&#xff0c;设置引用的变…...

【系统监控程序】

用python编写一个系统监控程序&#xff0c;需要每隔一秒钟记录系统每个进程的资源占用和整体的资源占用情况&#xff0c;并输出成json&#xff0c;保存到文本文件。 import psutil import json import timedef get_process_usage():process_list []for proc in psutil.proces…...

计算机论文中名词翻译和解释笔记

看论文中一些英文的简写不知道中文啥意思&#xff0c;或者一个名词不知道啥意思。 于是自己做了一个个人总结。 持续更新 目录 SoftmaxDeep Learning(深度学习)循环神经网络(Recurrent Neural Network简称 RNN)损失函数/代价函数(Loss Function)基于手绘草图的三维模型检索(Ske…...

读书笔记-《ON JAVA 中文版》-摘要20[第十九章 类型信息-1]

文章目录 第十九章 类型信息1. 为什么需要 RTTI2. Class 对象2.1 Class 对象2.2 类字面常量2.3 泛化的 Class 引用 3. 类型转换检测4. 注册工厂5. 类的等价比较6. 反射&#xff1a;运行时类信息7. 自我学习总结 第十九章 类型信息 RTTI&#xff08;RunTime Type Information&am…...

3、Linux驱动开发:模块_传递参数

目录 &#x1f345;点击这里查看所有博文 随着自己工作的进行&#xff0c;接触到的技术栈也越来越多。给我一个很直观的感受就是&#xff0c;某一项技术/经验在刚开始接触的时候都记得很清楚。往往过了几个月都会忘记的差不多了&#xff0c;只有经常会用到的东西才有可能真正记…...

基于 ThinkPHP 5.1(稳定版本) 开发wms 进销存系统源码

基于ThinkPHP 5.1&#xff08;LTS版本&#xff09;开发的WMS进销存系统源码 管理员账号密码&#xff1a;admin 一、项目简介 这个系统是一个基于ThinkPHP框架的WMS进销存系统。 二、实现功能 控制台 – 权限管理&#xff08;用户管理、角色管理、节点管理&#xff09; – 订…...

全面解析 SOCKS5 代理和 HTTP 代理在网络安全与爬虫应用中的技术对比与应用指南

一、SOCKS5 代理和 HTTP 代理的基本原理 SOCKS5 代理&#xff1a;SOCKS5 是一种网络协议&#xff0c;可以在传输层代理 TCP 和 UDP 请求。它不解析请求内容&#xff0c;仅在客户端和代理服务器之间建立连接&#xff0c;并转发数据。SOCKS5 代理支持众多网络协议和端口类型&…...

DevOps系列文章 之 docker 制作kafka镜像

Docker制作Kafka镜像教程 概述 本教程将指导你如何使用Docker制作一个Kafka镜像。Kafka是一个高性能、分布式的消息队列系统&#xff0c;用于处理大规模的实时数据流。使用Docker制作Kafka镜像可以方便地部署和管理Kafka集群。 整体流程 下面是制作Kafka镜像的整体流程&#xf…...

idea大量爆红问题解决

问题描述 在学习和工作中&#xff0c;idea是程序员不可缺少的一个工具&#xff0c;但是突然在有些时候就会出现大量爆红的问题&#xff0c;发现无法跳转&#xff0c;无论是关机重启或者是替换root都无法解决 就是如上所展示的问题&#xff0c;但是程序依然可以启动。 问题解决…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

初探Service服务发现机制

1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能&#xff1a;服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源&#xf…...

return this;返回的是谁

一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请&#xff0c;不同级别的经理有不同的审批权限&#xff1a; // 抽象处理者&#xff1a;审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...

【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论

路径问题的革命性重构&#xff1a;基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中&#xff08;图1&#xff09;&#xff1a; mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...

DAY 26 函数专题1

函数定义与参数知识点回顾&#xff1a;1. 函数的定义2. 变量作用域&#xff1a;局部变量和全局变量3. 函数的参数类型&#xff1a;位置参数、默认参数、不定参数4. 传递参数的手段&#xff1a;关键词参数5 题目1&#xff1a;计算圆的面积 任务&#xff1a; 编写一…...

Spring AOP代理对象生成原理

代理对象生成的关键类是【AnnotationAwareAspectJAutoProxyCreator】&#xff0c;这个类继承了【BeanPostProcessor】是一个后置处理器 在bean对象生命周期中初始化时执行【org.springframework.beans.factory.config.BeanPostProcessor#postProcessAfterInitialization】方法时…...

【实施指南】Android客户端HTTPS双向认证实施指南

&#x1f510; 一、所需准备材料 证书文件&#xff08;6类核心文件&#xff09; 类型 格式 作用 Android端要求 CA根证书 .crt/.pem 验证服务器/客户端证书合法性 需预置到Android信任库 服务器证书 .crt 服务器身份证明 客户端需持有以验证服务器 客户端证书 .crt 客户端身份…...

数据库——redis

一、Redis 介绍 1. 概述 Redis&#xff08;Remote Dictionary Server&#xff09;是一个开源的、高性能的内存键值数据库系统&#xff0c;具有以下核心特点&#xff1a; 内存存储架构&#xff1a;数据主要存储在内存中&#xff0c;提供微秒级的读写响应 多数据结构支持&…...

【若依】框架项目部署笔记

参考【SpringBoot】【Vue】项目部署_no main manifest attribute, in springboot-0.0.1-sn-CSDN博客 多一个redis安装 准备工作&#xff1a; 压缩包下载&#xff1a;http://download.redis.io/releases 1. 上传压缩包&#xff0c;并进入压缩包所在目录&#xff0c;解压到目标…...