使用fiddler篡改接口请求或返回的内容

目录

一、背景说明

二、fiddler安装

三、fiddler打断点

3.1 bpu命令行方式构造指定请求断点

3.2 Automatic Breakpoints配置请求或返回类型断点

3.3 快捷方式拦截指定类型所有内容

四、fiddler篡改数据

五、fiddler其他常用小知识

5.1 抓包时过滤指定请求

5.2 移动端连接fiddler


一、背景说明

篡改接口请求或返回的内容,会有什么影响?下面这些新闻,你或许有听说过。

因此,公司投入线上运营的产品中,涉及到与金额相关的流程,需要通过接口测试篡改请求和返回内容,验证项目是否做了此类的安全校验,避免公司产生不必要的财产损失。

fiddler工具我们日常的比较多的是抓包功能,该文档主要是针对如何使用fiddler篡改接口请求和返回内容的方法做出说明。

Fiddler篡改数据包的原理,以修改订单支付金额为例,如下图:

假如篡改的是支付的金额,拦截发往服务器的请求并修改金额后发给服务器,拦截服务器返回的支付成功的消息并修改金额发回给网页,网页就会误以为支付已经成功

二、fiddler安装

fiddler官网下载地址:Fiddler | Web Debugging Proxy and Troubleshooting Solutions,可下载最新版本安装使用。

默认点击下一步安装即可,安装完成后,直接打开fiddler运行。

三、fiddler打断点

fiddler工具有三种方式打断点,断点的影响范围不同,可根据测试需要选择打断点的方式。

3.1 bpu命令行方式构造指定请求断点

影响范围:仅影响指定URL操作时,会被fiddler拦截

使用该方法,首先我们需要明确知道,我们需要构造断点的请求URL。然后在fiddler下方的命令行中,输入:bpu+空格+URL,然后回车,当我们操作该接口对应的功能,被fiddler抓包识别时,对应的操作在界面中就会显示为加载中,此时,我们可以在fiddler工具中,修改该接口对应的请求或返回的数据内容,伪造请求数据或返回结果。

构造断点:输入bpu+空格+URL,回车

取消断点:输入bpu,回车

URL成功被拦截时,在fiddler中的显示如下图:

3.2 Automatic Breakpoints配置请求或返回类型断点

影响范围:所有操作的请求,或返回,都会被拦截

使用方法:fiddler工具点击Rules-Automatic Breakpoints,选择Before Requests(在请求之前拦截)或After Responses(在返回结果之后拦截)。如果需要取消拦截,选择Disabled即可。

3.3 快捷方式拦截指定类型所有内容

在fiddler工具最下一行,第三列点击,可直接达到3.2的配置效果。

点击一次:在发送请求之前拦截

点击两次:在返回结果之后拦截

点击三次:取消拦截

四、fiddler篡改数据

当前拦截的是请求接口时,可修改请求中的参数内容。如果当前拦截的是返回结果,可修改返回中的数据内容。一下用可视化修改商户调车订单的支付金额为例做出说明:

  1. 登录商户后台,登录成功
  2. 商户点击【预约用车】,填写用车条件后,点击【提交】,进入到用车列表
  3. fiddler工具使用3.3的方式,点击一次,在发送请求之前拦截

  1. 商户在用车列表中,选择一个车型点击【申请用车】,此时后台页面显示加载中

  1. fiddler查看拦截到一个请求,选择Inspectors-Raw,查看请求的接口中,包含订单的支付金额,修改支付金额为“1”,

  1. 选择【Break on Renponse】(拦截下一个返回的内容)后,自动以当前修改后的参数发送请求,并在返回内容时再次被拦截,返回的内容是在右下方的Raw中查看。

  1. 此时,就可以修改返回的内容,将返回的结果替换为其他内容,点击【Run to Completion】继续运行。

以上就是使用fiddler篡改数据包的步骤,测试过程中我们可以举一反三,不仅仅是修改订单支付金额,也可以尝试测试修改一些其他的重要数据,或在支付的不同阶段来修改请求参数和返回内容,来验证程序是否有做合理的判断校验。

五、fiddler其他常用小知识

5.1 抓包时过滤指定请求

因为fiddler工具会抓取web端的所有请求,当我们操作指定平台时,有一些其他网页的请求也会被工具抓取到,不容易找到我们自己的操作请求。这个时候可以使用filters功能过滤指定的请求内容。操作方法:

步骤一、点击Filters,选择Use Filters

步骤二、Hosts的第一个选项内容不用修改,第二个选项内容,选择为“Show only the following Hosts”

步骤三、在下方输入我们想要过滤的域名或IP地址,以英文的分号间隔开。

步骤四、点击Actions应用生效,此后fiddler抓包的内容就是我们要求过滤的指定内容了。

5.2 移动端连接fiddler

备注:如果移动端想要使用fiddler监听,首先我们的Fiddler所在的电脑和手机必须处在同一个局域网内(即连着同一个路由器)

  1. 查看fiddler使用的端口

Tools-Options-Connections,查看工具使用的端口。勾选Allow remote computers to connect选项,弹出的提示框直接点击OK

  1. 查看本机IP地址

cmd命令行,输入ipconfig,查看本机IP地址

  1. 手机设置代理

手机当前连接的wifi,修改代理为手动,IP和端口号为前面查到的内容

  1. 手机安装证书

在手机浏览器一栏输入电脑的IP地址和端口号

这里我是192.168.1.128:50879

进入一个网页,点击最下面那个FiddlerRoot certificate下载证书,下载成功后在设置里面安装

安卓安装步骤:打开高级设置->安全->从SD卡安装证书->找到证书文件->点击后为证书命名点击确定即可安装成功(具体过程请根据实际机型百度查找,关键词是从SD卡安装证书)

IOS安装步骤:打开设置-通用-描述文件与设备管理,找到我们下载到的fiddler的证书进行安装信任

  1. 移动端操作,查看fiddler工具抓包成功

该文档部分内容参考以下网址:

https://www.jianshu.com/p/4505693bdaa2?from=groupmessage

https://www.cnblogs.com/yanmou/p/9447790.html

https://blog.csdn.net/zhezhebie/article/details/80669691

https://blog.csdn.net/ychgyyn/article/details/82154433

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冷凝娇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值