在 Fiddler 中修改请求(例如:修改网页或 App 搜索框提交的内容),可以通过 断点(Breakpoint)功能 实现。以下是详细操作步骤,以 修改搜索关键词 为例:

场景示例

  • 用户在某网站搜索框输入 苹果,点击搜索
  • 你想在请求发出前将其改为 香蕉
  • 观察后端是否返回“香蕉”相关结果

操作步骤(使用 Fiddler 修改请求)

第一步:开启请求断点(Before Requests)

  1. 打开 Fiddler
  2. 菜单栏点击 Rules → Automatic Breakpoints → Before Requests
    (或按快捷键 F11)
    • ✅ 此时所有请求发出前会暂停,等待你修改

🔹 状态栏会显示红色 "BREAK" 字样,表示断点已启用

第二步:触发搜索请求

  1. 在浏览器或 App 中:
    • 在搜索框输入 苹果
    • 点击“搜索”按钮
  2. Fiddler 会自动捕获该请求,并暂停在 Inspectors 面板

第三步:修改请求内容

情况 A:GET 请求(参数在 URL 中)

  • 示例 URL:
    https://example.com/search?q=苹果&category=all
  • 操作:
    1. Inspectors → Request Headers 中找到 URL 行
    2. 将 q=苹果 改为 q=香蕉
    3. 按 Ctrl + R 或点击 Run to Completion 继续发送

情况 B:POST 请求(参数在 Body 中)

  • 示例 Body:

q=苹果&category=all

  • 操作:
    1. 切换到 Inspectors → TextView(或 WebForms)
    2. 在请求体中将 苹果 替换为 香蕉
    3. 点击 Run to Completion 发送修改后的请求

💡 提示:如果参数是 JSON 格式(如 {"keyword":"苹果"}),在 JSONTextView 标签页修改即可。

第四步:查看响应结果

  • 请求发出后,Fiddler 会显示服务器返回的响应
  • 检查内容是否为“香蕉”相关结果,验证修改生效

第五步:关闭断点(避免影响其他请求)

  • 再次点击 Rules → Automatic Breakpoints → Disabled
    (或按 F11 关闭)
  • 状态栏 "BREAK" 消失,恢复正常抓包

🎯 高级技巧:只对特定请求打断点

如果不想拦截所有请求,可设置 条件断点

  1. 菜单栏:Rules → Customize Rules...(或按 Ctrl + R)
  2. 在脚本中找到 OnBeforeRequest(oSession: Session) 函数
  3. 添加规则,例如:

if (oSession.uriContains("/search") && oSession.HTTPMethodIs("POST")) {

oSession["x-breakrequest"] = "y"; // 仅对搜索接口打断点

}

  1. 保存脚本(Ctrl + S),Fiddler 会自动重载

这样只有包含 /search 的 POST 请求才会被拦截。

⚠️ 注意事项

问题

解决方案

修改后页面报错

检查参数格式(如编码、JSON 结构)是否正确

HTTPS 请求无法修改

确保已配置 Fiddler HTTPS 解密 并安装根证书

App 使用证书绑定

需先绕过证书校验(如使用 Frida)才能抓包修改

总结

Fiddler 修改请求 = 开启断点 → 触发请求 → 编辑参数 → 继续发送

通过这种方式,你可以:

  • 测试搜索敏感词过滤
  • 验证越权访问(如修改 user_id)
  • 模拟异常输入(SQL注入、XSS payload)
  • 调试接口边界条件
posted on 2025-12-29 10:13  杨YHX  阅读(2)  评论(0)    收藏  举报