Fiddler拦截篡改get和post请求及返回值

有时为了能更好的完成测试工作,提高软件质量,只是功能测试方法已经不能满足需求,所以需要根据项目的特点加入合适的测试方法。

写这篇文的原因是,在实际的测试工作中,所在公司APP添加了新研发的商品及其支付功能。

做测试的可能都有跟弦,跟Money有关的项目都要小心。之前了解过一些拦截篡改的方法,但没有实践过,为了测试质量,只好现学现用。中间遇到问题时没有资料可查,摸索了几天终于弄明白了。整理一下,做个笔记。

下面我尽可能详细的描述下我用fiddler对APP的get和post请求进行拦截和篡改的步骤:

以下省去下载安装fiddler和使用fiddler抓APP包的步骤,网上都有方法而且非常详细。首先介绍拦截方法,然后再根据实际例子详细描述拦截和篡改。

一、两种拦截方法(get和post请求的拦截方法相同)
1、在fiddler左上角的菜单栏,rules->automatic Breakpoints->选择断点的方式。通过这里设定的断点会对之后的所有HTTP请求有效。有两个断点位置:
1)before response,在请求到达服务器之前进行拦截,也就是发送请求之后,Fiddler代理中转之前,这时可以修改请求的数据。
2)after response,在响应到达客户端之前拦截,也就是服务器响应之后,在Fiddler将响应中转给客户端之前。这时可以修改响应的结果。
3)默认是Disabled即不拦截的状态,则点击Rules->Automatic Breakpoint->Disabled 可以取消拦截的状态。
在这里插入图片描述

举例 before response:
在这里插入图片描述

举例 after response:
在这里插入图片描述

以上是第1种方法,设置后,可以拦截所有请求和响应。

2、命令行设置断点

1)bpu在请求到达服务器前中断;
2)bpafter在响应到达客户端前中断;
3)bps中断HTTP响应状态为指定字符的全部session响应;(引用作者博客地址:https://www.cnblogs.com/x1you/p/11866055.html)
4)bpv/bpm中断指定请求方式的全部session响应。(引用作者博客地址:https://www.cnblogs.com/x1you/p/11866055.html)

举例bpu命令:

格式:bpu空格IP地址回车。如:bpu https://www.baidu.com然后加回车。

解除拦截状态,直接输入bpu然后回车。命令行书写位置如下图:

在这里插入图片描述

查看接口拦截情况:
在这里插入图片描述

如图红框里的接口,最前面带T的就是被拦截的接口。

这里拦截接口可以具体到某一个接口,也可以是某一批接口。具体到某一个接口很好理解,接口地址填写完整,拦截的就是具体某一个接口;如果接口地址填写一部分,拦截的就是具有相同路径的一批接口。

举例bpafter命令:

格式:bpbpafter空格IP地址回车。如:bpu https://www.baidu.com然后加回车。

解除拦截状态,直接输入bpbpafter然后回车。命令行书写位置如下图:
在这里插入图片描述

查看接口拦截情况:

在这里插入图片描述

后面两个在实际测试中没有用到,先不举例了,只是网上有写,作者这里也带一下。

以上就是拦截的两个方法。下面来结合实际描述下篡改的方法。

二、get和post请求及响应的篡改方法
1、get和post请求的篡改方法(以下均使用命令行拦截方式)

1)get请求篡改方式

如下图,使用命令行bpu加接口地址的方式拦截get请求后,在WebForms下直接修改get请求参数值,然后点击Run to Completion完成接口请求,然后查看APP页面数据显示,这样就实现了get请求篡改。
在这里插入图片描述

2)post请求篡改方式

如下图,使用命令行bpu加接口地址的方式拦截post请求后,在SyntaxView下直接修改post请求参数值,然后点击Run to Completion完成接口请求,然后查看APP页面数据显示,这样就实现了post请求篡改。

在这里插入图片描述

2、get和post响应的篡改方法(以下均使用命令行拦截方式)

1)get响应篡改方式

如下图,使用命令行bpafter加接口地址的方式拦截get响应后,在SyntaxView下直接修改get响应参数值,然后点击Run to Completion完成接口响应,然后查看APP页面数据显示,这样就实现了get响应篡改。
在这里插入图片描述

2)post响应篡改方式

如下图,使用命令行bpafter加接口地址的方式拦截post响应后,在SyntaxView下直接修改post响应参数值,然后点击Run to Completion完成接口响应,然后查看APP页面数据显示,这样就实现了post响应篡改。

在这里插入图片描述

三、修改数据的两种方式
修改数据有两种方式,一种是临时修改方式,即修改后只对当次请求有效,这种方式在fiddler页面中可以直接修改;另一种是永久修改方式,可以通过urlreplace命令实现,urlreplace命令行输入位置和拦击命令行输入位置相同。
1、临时修改(文章作者在测试时使用的方式)
1)get请求

get请求值修改,即在fiddler右侧栏上面的请求栏中,Inspectors->WebForms,修改请求变量参数后执行Run to Completion,服务器返回新的请求结果。

get响应值修改,即在fiddler右侧栏下面的响应栏中,Inspectors->SyntaxView,修改请求变量参数后执行Run to Completion,服务器返回新的请求结果。

2)post请求

post请求值修改,即在fiddler右侧栏上面的请求栏中,Inspectors->SyntaxView,修改请求变量参数后执行Run to Completion,服务器返回新的请求结果。

post响应值修改,即在fiddler右侧栏下面的响应栏中,Inspectors->SyntaxView,修改请求变量参数后执行Run to Completion,服务器返回新的请求结果。
2、永久性修改请求(直接引用网上其他作者内容,本文章作者没有修改成功,为使文章完整故整理)
1)命令行设置修改规则,修改请求:urlreplace 旧请求值 新请求值(引用作者博客地址:https://www.cnblogs.com/x1you/p/11866055.html)
fiddler命令行输入:urlreplace uuid=103 uuid=105
其中uuid是请求参数,输入命令后回车即可,新的请求设置成功,除非释放请求,否则请求值不变,释放请求命令urlreplace
2)脚本中修改规则,打开脚本方式:fiddler执行Rules->Customize Rules
在fiddler中修改订单数据后,点击Run to Completion按钮,实现数据篡改,页面中的数据修改成功

以上为fiddler拦截篡改get和post请求及响应的完整步骤,文章作者是新手。

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Fiddler是一款常用的网络调试工具,它可以拦截修改HTTP/HTTPS请求和响应数据。通过Fiddler,我们可以方便地进行接口测试和调试。 下面是使用Fiddler进行拦截篡改接口测试的步骤: 1. 下载和安装Fiddler:你可以从Fiddler官网(https://www.telerik.com/fiddler)下载并安装Fiddler。 2. 启动Fiddler:安装完成后,打开Fiddler应用程序。 3. 配置代理:在Fiddler界面的菜单栏中选择"Tools" -> "Options",在弹出的对话框中选择"Connections"选项卡。勾选"Allow remote computers to connect"和"Act as system proxy on startup"选项,并点击"OK"保存设置。 4. 设置HTTPS拦截:在Fiddler界面的菜单栏中选择"Tools" -> "Options",在弹出的对话框中选择"HTTPS"选项卡。勾选"Decrypt HTTPS traffic"选项,并点击"OK"保存设置。 5. 开始拦截:在Fiddler界面的工具栏中点击"Capture"按钮,开始拦截网络请求。 6. 配置浏览器代理:为了让Fiddler能够拦截浏览器的请求,需要将浏览器的代理设置为Fiddler的代理。具体设置方法可以参考Fiddler官方文档或者搜索相关教程。 7. 进行接口测试:打开浏览器,访问你要测试的接口。Fiddler拦截并显示请求和响应的详细信息。 8. 修改请求和响应:在Fiddler界面中,你可以对请求和响应进行修改。例如,你可以修改请求的参数、修改响应的数据等。 9. 查看结果:在Fiddler界面中,你可以查看修改后的请求和响应的结果。同时,你也可以保存拦截的数据,方便后续分析和调试。 总结一下,使用Fiddler进行拦截篡改接口测试的步骤包括:下载安装Fiddler、配置代理和HTTPS拦截、开始拦截、配置浏览器代理、进行接口测试、修改请求和响应、查看结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值