【愚公系列】2022年03月 Web渗透测试之Fiddler的使用
Fiddler 的介绍
Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。当Fiddler退出的时候它会自动注销,这样就不会影响别的 程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。
配置
打开Fiddler Tool->Fiddler Options->HTTPS 。 (配置完后记得要重启Fiddler).
选中"Decrpt HTTPS traffic", Fiddler就可以截获HTTPS请求,第一次会弹出证书安装提示,若没有弹出提示,勾选Actions-> Trust Root Certificate
另外,如果你要监听的程序访问的 HTTPS 站点使用的是不可信的证书,则请接着把下面的 “Ignore servercertificate errors” 勾选上。
证书安装提示:
点击Yes,留意一下红框里面的内容,DO_NOT_TRUST_FiddlerRoot ,这个就是证书的名称。
点击确定,这样Fiddler证书就已经添加成功了。
查看一下证书,Actions—>open windows certificate Manager
可以证书已经添加进去了,证书名称就是之前提醒大家留意的,【DO_NOT_TRUST_FiddlerRoot】
手机端抓包配置
fiddler监听端口默认是 8888,你可以把它设置成任何你想要的端口。勾选上 “Allow remote computersto connect” ,允许远程设备连接。
为了减少干扰,可以去掉 “Act assystem proxy on startup” 。
手机端(客户端)设置
首先查看电脑的 IP 地址,确保手机和电脑在同一个局域网内
- Android 手机上的配置
将 Fiddler 代理服务器的证书导到手机上才能抓这些 APP 的包。导入的过程:打开浏览器,在地址栏中输入代理服务器的 IP 和端口(即电脑的IP加fiddler的端口),会看到一个Fiddler 提供的页面,然后确定安装就好了
打开 WiFi 设置页面,选择要连接的 wifi ,并且长按,在弹出的对话框中,选择“修改网络”。在接下来弹出的对话框中,勾选“显示高级选项”。在接下来显示的页面中,点击“代理”,选择“手动”。代理服务器主机名设为 PC 的 IP ,代理服务器端口设为 Fiddler 上配置的端口 8888,点”保存”。
苹果手机上的配置
苹果手机上的配置其实跟 Android 手机基本是一样的。如图
至此已配置完成。
Fiddler的使用
视图功能区域
会话的概念:一次请求和一次响应就是一个会话。
fiddler主界面
下面挑几个快捷功能区中常用几项解释,其他功能自己尝试:
1:给会话添加备注信息
2:重新加载当前会话
3:删除会话选项
4:放行,和断点对应,后面详细讲解
5:响应模式。也即是,当Fiddler拿到远程的response后是缓存起来一次响应给客户端还是以stream的方式直接响应。
6:解码。有些请求是被编码的,点击这个按钮后可以根据响应的编码格式自动解码。
7:查找会话。
8:保存会话。
9:截屏。截屏后,会以会话的方式返回一个截图。
- 使用bpu命令修改请求数据包内容
前面我们只实验了Fiddler中最基本的抓包功能,事实上,在Web安全测试中,Fiddler最好用的功能之一就是其能在客户端与服务器通讯过程中间截获并修改数据包。我们使用bpu命令,让Fiddler先截获浏览器向外发送的数据包,手动修改包数据后再放行到服务器。
我们想向服务器端传递不同的性别字段,但由于下拉框的限制,我们只可以选择“男性”或“女性”两个字段。这时,在Fiddler左下角控制台中输入以下命令并回车:
bpu fiddler-test
此时,fiddler就会截获所有URL中包含“fiddler-test”的数据包,等待人工修改并放行。
我们返回到浏览器,再一次尝试点击“提交”按钮,回到Fiddler界面,发现提交的请求暂时被Fiddler截获住,尚未发往服务器。现在可以在请求面板中修改sex的值,修改完后,点击“Run to Completion”按钮,放行该数据包。操作如下图:
- 使用bpu命令修改响应数据包内容
Fiddler不仅能在客户端向服务器发送请求过程中修改包内容,当服务器返回数据时,它也能优先截获并修改返回数据包,然后再放行至浏览器。
我们同样以发送性别字段为例,在浏览器中再次点击“提交”按钮,Fiddler仍会截住该请求。此时点击“Break on Response”按钮,fiddler会放行该请求并等待截获由服务器返回的响应数据包。当响应包被截获后,我们在响应面板中修改包内容,修改完毕点击“Run To Completion”将响应包放行至浏览器。
- 点赞
- 收藏
- 关注作者
评论(0)