fiddler抓包12_篡改请求(请求前断点)
课程大纲
原理
正常“客户端-服务器”通信,即发送请求,接收返回。
Fiddler抓包是「客户端-浏览器」进行交互时,请求和响应都会从Fiddler通过,Fiddler可以捕获并展示。
请求前断点(BreakPoint Before Request):请求发出后,Fiddler拦截、修改请求,直到点击放行按钮,再发给服务器。
应用场景
1. 测试接口:验证后端服务功能,如前端禁止输入空,拦截后篡改成空,看服务器是否有空参限制。
2. 测试前端:抓包,篡改请求为异常,看客户端接收特定服务器返回的效果(如手机app是否会崩溃)。
按照作用范围分为2种:单个断点、全局断点。
作用 | |
单个断点 | 生效后,拦截指定站点(含子域)请求; 取消后,不再拦截请求。 |
全局断点 | 生效后,拦截所有站点请求; 取消后,不拦截任何请求。 |
操作 | |
单个断点 | ① 开启断点:“bpu [拦截的网站]” - 回车 ② 取消断点:“bpu ”(即“bpu+空格”) - 回车 (bpu就是BreakPoint Before Request首字母缩写。) |
全局断点 | ① 开启断点:(快捷键 F11) Rules - Automatic Breakpoint - Before Request “规则” - “自动断点” - “请求前断点” ② 取消断点:(快捷键 Shift+F11) Rules - Automatic Breakpoint - Disables “规则” - “自动断点” - “不可用” |
1. 单个断点
① 开启断点:
fiddler命令行输入:“bpu https://www.baidu.com” - 回车。(加不加协议“https://”都可以)
② 拦截请求并查看:
百度输入搜索关键字“tuxiaomao” - 点击“百度一下” - fiddler左侧列表,选中请求 - 点击右侧标签菜单“WebForms”。
可以看到,被打断点的请求前有个红色的“上传暂停”icon。同时,网站处于等待响应的状态。
③ 篡改请求参数并发送请求:
字段"wd"内容“tuxiaomao”,改为“七宝”- 点击下方按钮“Run to Completion”释放请求到服务器。
(请求列表会恢复正常状态,红色拦截icon消失)
④ 查看请求响应:
请求右侧 - 上部请求区“WebForms”- 下部响应区“WebView”- 浏览器。
网页显示的搜索结果,是篡改后关键字的结果——“七宝。”
⑤ 取消断点:
fiddler命令行,输入命令“bpu ” - 回车。
【一点说明】
1.拦截的站点看层级,如bpu后跟baidu.com、www.baidu.com、https://www.baidu.com,都是拦截百度主域名,子域(如image.baidu.com)也会拦截。
反之,如果拦截的是子域名“image.baidu.com”,不拦截父级域名(如www.baidu.com)和同级域名(如zhidao.baidu.com)。
2.Fiddler列表底栏会显示拦截的站点,可筛选显示哪种程序上的请求。
2. 全局断点
① 开启断点:快捷键点击F11,或界面操作如下。
② 拦截请求并查看:所有请求都会被拦截。
③ 篡改请求参数并发送请求:可以修改请求任意部分 - 点击下方按钮“Run to Completion”释放请求到服务器;
④ 查看请求响应:请求右侧 - 上部请求区“WebForms”- 下部响应区“WebView”- 浏览器;
⑤ 取消断点:点击 “sihft + F11”,或界面操作如下。