1.简介

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

2.应用场景

简单介绍几个应用场景:

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

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

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

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

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

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抓包教程(34)-Fiddler如何抓取微信小程序的包-上篇

    1.简介 有些小伙伴或者是童鞋们说小程序抓不到包,该怎么办了???其实苹果手机如果按照宏哥前边的抓取APP包的设置方式设置好了,应该可以轻松就抓到包了.那么安卓手机小程序就比较困难,不是那么友好了.所 ...

  2. 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(9)-Fiddler如何设置捕获Https会话

    1.简介 由于近几年来各大网站越来越注重安全性都改成了https协议,不像前十几年前直接是http协议直接裸奔在互联网.还有的小伙伴或者童鞋们按照上一篇宏哥的配置都配置好了,想大展身手抓一下百度的包, ...

  3. 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(10)-Fiddler如何设置捕获Firefox浏览器的Https会话

    1.简介 经过上一篇对Fiddler的配置后,绝大多数的Https的会话,我们可以成功捕获抓取到,但是有些版本的Firefox浏览器仍然是捕获不到其的Https会话,需要我们更进一步的配置才能捕获到会 ...

  4. 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(11)-Fiddler设置安卓手机抓包,不会可是万万不行的!

    1.简介 Fiddler不但能截获各种浏览器发出的 HTTP 请求,也可以截获各种智能手机发出的HTTP/ HTTPS 请求. Fiddler能截获 Android 和 Windows Phone 等 ...

  5. 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(12)-Fiddler设置IOS手机抓包,你知多少???

    1.简介 Fiddler不但能截获各种浏览器发出的 HTTP 请求,也可以截获各种智能手机发出的HTTP/ HTTPS 请求. Fiddler 能捕获Android 和 Windows Phone 等 ...

  6. 《吐血整理》高级系列教程-吃透Fiddler抓包教程(23)-Fiddler如何优雅地在正式和测试环境之间来回切换-上篇

    1.简介 在开发或者测试的过程中,由于项目环境比较多,往往需要来来回回地反复切换,那么如何优雅地切换呢?宏哥今天介绍几种方法供小伙伴或者童鞋们进行参考. 2.实际工作场景 2.1问题场景 (1)已发布 ...

  7. 《吐血整理》高级系列教程-吃透Fiddler抓包教程(31)-Fiddler如何抓取Android系统中Flutter应用程序的包

    1.简介 Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面.Flutter应用程序是用Dart编写的,这是一种由Google在7年多前创建的语言.Flut ...

  8. 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(15)-Fiddler弱网测试,知否知否,应是必知必会

    1.简介 现在这个时代已经属于流量时代,用户对于App或者小程序之类的操作界面的数据和交互的要求也越来越高.对于测试人员弱网测试也是需要考验自己专业技术能力的一种技能.一个合格的测试人员,需要额外关注 ...

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

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

随机推荐

  1. java编程用大小写字母及数字输出五位数验证码

    package day08; import java.util.Random;//导入util下的Random包 public class Yanzhengma { public static voi ...

  2. 记录一下MySql update会锁定哪些范围的数据

    目录 1.背景 2.前置知识 2.1 数据库的隔离级别 2.2 数据库版本 2.3 数据库的存储引擎 2.4 锁是加在记录上还是索引上 2.5 update...where加锁的基本单位是 2.6 行 ...

  3. SAP Smart Form 无法通过程序自定义默认打印机问题解决

    *&---------------------------------------------------------------------* *& Form FRM_SET_PRI ...

  4. zabbix配置邮件报警

    1.yum源安装sendmail,sendmail-cf和mailx 2.关闭postfix,/etc/init.d/postfix stop chkconfig posfix off 3.启动sen ...

  5. Python自动化办公:批量将文件按分类保存,文件再多,只需一秒钟解决

    序言 (https://jq.qq.com/?_wv=1027&k=GmeRhIX0) 当我们电脑里面的文本或者或者文件夹太多了,有时候想找到自己想要的文件,只能通过去搜索文件名,要是名字忘记 ...

  6. ArrayList分析1-循环、扩容、版本

    ArrayList分析1-循环.扩容.版本 转载请注明出处 https://www.cnblogs.com/funnyzpc/p/16407733.html 前段时间抽空看了下ArrayList的源码 ...

  7. File类获取功能的方法和File类判断功能的方法

    File类获取功能的方法-public String getAbsolutePath() :返回此file的绝对路径名字符串 -public String getPath() :将此File转换为路径 ...

  8. java--运算符和表达式

    运算符:就是对常量或者遍历进行操作的符号: 表达式:用运算符把常量或者变量连接起来符合java语法的式子称为表达式,不同运算符连接的表达式体现的是不同类型的表达式. 一.算术运算符 1.使用%运算符: ...

  9. Identity Server 4资源拥有者密码认证控制访问API

    基于上一篇文章中的代码进行继续延伸,只需要小小的改动即可,不明白的地方可以先看看本人上一篇文章及源码: Identity Server 4客户端认证控制访问API 一.QuickStartIdenti ...

  10. Fiddler开启调试模式

    分别键入以下命令 prefs set fiddler.debug.extensions.showerrors True prefs set fiddler.debug.extensions.verbo ...