在 Fiddler 中修改请求(例如:修改网页或 App 搜索框提交的内容),可以通过 断点(Breakpoint)功能 实现。以下是详细操作步骤,以 修改搜索关键词 为例:
场景示例
- 用户在某网站搜索框输入 苹果,点击搜索
- 你想在请求发出前将其改为 香蕉
- 观察后端是否返回“香蕉”相关结果
操作步骤(使用 Fiddler 修改请求)
第一步:开启请求断点(Before Requests)
- 打开 Fiddler
- 菜单栏点击 Rules → Automatic Breakpoints → Before Requests
(或按快捷键 F11)- ✅ 此时所有请求发出前会暂停,等待你修改
🔹 状态栏会显示红色 "BREAK" 字样,表示断点已启用
第二步:触发搜索请求
- 在浏览器或 App 中:
- 在搜索框输入 苹果
- 点击“搜索”按钮
- Fiddler 会自动捕获该请求,并暂停在 Inspectors 面板
第三步:修改请求内容
情况 A:GET 请求(参数在 URL 中)
- 示例 URL:
https://example.com/search?q=苹果&category=all - 操作:
- 在 Inspectors → Request Headers 中找到 URL 行
- 将 q=苹果 改为 q=香蕉
- 按 Ctrl + R 或点击 Run to Completion 继续发送
情况 B:POST 请求(参数在 Body 中)
- 示例 Body:
q=苹果&category=all
- 操作:
- 切换到 Inspectors → TextView(或 WebForms)
- 在请求体中将 苹果 替换为 香蕉
- 点击 Run to Completion 发送修改后的请求
💡 提示:如果参数是 JSON 格式(如 {"keyword":"苹果"}),在 JSON 或 TextView 标签页修改即可。
第四步:查看响应结果
- 请求发出后,Fiddler 会显示服务器返回的响应
- 检查内容是否为“香蕉”相关结果,验证修改生效
第五步:关闭断点(避免影响其他请求)
- 再次点击 Rules → Automatic Breakpoints → Disabled
(或按 F11 关闭) - 状态栏 "BREAK" 消失,恢复正常抓包
🎯 高级技巧:只对特定请求打断点
如果不想拦截所有请求,可设置 条件断点:
- 菜单栏:Rules → Customize Rules...(或按 Ctrl + R)
- 在脚本中找到 OnBeforeRequest(oSession: Session) 函数
- 添加规则,例如:
if (oSession.uriContains("/search") && oSession.HTTPMethodIs("POST")) {
oSession["x-breakrequest"] = "y"; // 仅对搜索接口打断点
}
- 保存脚本(Ctrl + S),Fiddler 会自动重载
这样只有包含 /search 的 POST 请求才会被拦截。
⚠️ 注意事项
问题 | 解决方案 |
|---|---|
修改后页面报错 | 检查参数格式(如编码、JSON 结构)是否正确 |
HTTPS 请求无法修改 | 确保已配置 Fiddler HTTPS 解密 并安装根证书 |
App 使用证书绑定 | 需先绕过证书校验(如使用 Frida)才能抓包修改 |
总结
Fiddler 修改请求 = 开启断点 → 触发请求 → 编辑参数 → 继续发送
通过这种方式,你可以:
- 测试搜索敏感词过滤
- 验证越权访问(如修改 user_id)
- 模拟异常输入(SQL注入、XSS payload)
- 调试接口边界条件

浙公网安备 33010602011771号