抓包工具Fiddler Web Debugger
Fiddler Web Debugger 利器使用
Fiddler Web Debugger能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是web调试的利器。
Fiddler 是一款功能非常强大的web 调试利器,简单的说你可以使用它截断浏览器发送给服务器的数据包,并在修改后发送出去,这在调试SQL注入或者其他网站逻辑攻击漏洞中非常有用,当然也有其他工具可以实现数据包的截断与重放攻击,比如 socketexpert+NC或者burpsuite都可以实现。但是相比较而言,Fiddler的使用最为方便。
Fiddler是一款免费共享软件,你可以去官网下载(Fiddler官网)。Fiddler的原理如下图所示,从图中可以看出,Fiddler充当了Browser(浏览器)与Server(服务器)的中间代理人角色,因此,不难理解为什么Fiddler可以截断浏览器发送出去的数据包和修改服务器返回的数据包。
安装完成之后运行,界面如图
- 代理功能
Fiddler的大部分功能都是在其作为本地代理的基础上实现的,如上面介绍的原理图一样,如果想实现数据包截断功能必须要设置为代理,它的代理功能设置比较简单,Fiddler版本 2 以后都是默认自动开启代理并设置IE的使用该代理,端口为 8888 ,代理地址 127.0 . 0.1 : 8888 。如果端口发生冲突需要修改端口,则依次选择“Tools->Fiddler options->connections”,修改“Fiddlers Listens on port”的值即可。除了设置端口以外,还可以选择代理的协议内容,可以增加对FTP协议的代理,根据自己的需要设置即可。 |
- 截断功能
Fiddler的重头好戏是截断数据包,首先需要设置截取数据包的类型,依次打开菜单“Rules->automatic breakpoints”,可以选择“before request”、“after response”两种类型的截断模式。“ before request ”用于在发送请求前修改HTTP请求的内容,常见的是修改表单数据,以跳过Browser的JS验证。“after response ”主要用于本地开发WEB程序的测试,比如修改AJAX请求返回的数据,查看本地的响应策略。 |
下面以百度搜索为例,说明截断的具体使用方法。
1.将Fiddler设置为“before request”模式。
2.用google浏览器打开www.baidu.com,搜索 “fiddler”,如下所示
3.wd字段是搜索关键字字段,修改wd为“csdn”,然后点击绿色按钮“Run to completion”得到搜索页面如下图所示
这里只是举了一个小小的例子,利用Fiddler可以实现更强大的数据包截断功能,比如乌云上关于建行的积分兑换漏洞就用到了数据包截断 |
- 命令行
我个人觉得Fiddler的命令行功能比较好,常用的命令有cls(清屏),bpu www.xx.com(截断xx网站的请求),bpuafter www.xxx.com(截断xx网站的响应)。 最常用的是bpu命令,这样可以做到定点投放,不会造成所有浏览器访问的页面都被截断,导致Fiddler刷屏。 |
- END
这里只是介绍了Fiddler的数据包截断功能,其实Fiddler还有很多有用的功能,比如:会话查询、会话比较、创建 AutoResponder规则,具体的参考其官方文档
分类:
工具
, Fiddler Web Debugger
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术