HTTP调试利器 Fiddler使用说明 BurpSuite使用说明
- 2015-09-24 21:38:00
- admin
- 原创 2996
一、Fiddler使用说明
1、Fiddler是一个HTTP调试工具,能够截获电脑和网络的HTTP通讯;
2、下载地址:https://www.telerik.com/download/fiddler
3、支持功能:HTTP抓包、HTTP发包、HTTP挡板;
使用说明:
Statistics:显示会话统计信息,可以选择多个会话;
Inspectors:显示具体会话信息,支持多种格式查看;
AutoResponder:挡板自动响应请求;
Composer:用于发送HTTP请求;
Filters:设置捕获过滤器,只捕获某些请求;
TextWizard:字符串编解码,比如MD5、SHA1、BASE64;
QuickExec:用于执行命令,比如help、clear或cls、bpu设置断点、g或go继续运行、bpu不带参数清除断点;
设置断点:QuickExec对指定网址设置断点,Rules菜单对所有会话设置断点;
重放请求:默认条件重放,支持无条件重放和编辑重放,无条件重放保证请求到完整资源,编辑重放可以修改请求和返回;
快捷使用:单击状态栏可以启停捕获,单击状态栏可以设置重放模式;
二、BurpSuite使用说明
1、BurpSuite是一个HTTP调试工具,能够截获电脑和网络的HTTP通讯,不能抓取回环接口数据;
2、下载地址:https://portswigger.net/burp/tc-community
3、使用前先在Burp开启代理,然后在浏览器开启代理;
4、需要下载根证书进行安装,才能调试HTTPS站点;
5、设置分为:全局设置、用户设置、项目设置,重启软件时,项目设置会丢失;
6、代理配置和项目范围属于项目设置,需要保存为文件,这样下次才能使用;
7、Proxy history和Logger仅仅接收项目范围内的数据属于项目设置;
8、Dashboard任务面板,Proxy数据抓取,Repeater数据重放;
9、Decoder数据解码,Comparer数据比较,Logger抓取日志;
常用插件:
1、Java Deserialization Scanner是反序列化漏洞扫描插件,通过BApp Store直接安装;
2、Hack Bar是漏洞利用构造器,构造SQL注入命令非常方便,通过BApp Store直接安装;
3、Hack Bar爆破表字段时,会把同名表的字段都查询出来,需要手动过滤同名表的字段;
4、Hack Bar下载地址:https://github.com/d3vilbug/HackBar
Intercept中断请求:
1、开启Intercept,默认中断请求,通过Action设置中断返回;
2、代理配置可以设置中断哪些网址,设置中断请求,设置中断返回;
Intruder暴力破解模式:
1、Sniper,每个参数轮流使用一个数据集,一个参数使用数据集时,其余参数不做替换;
2、Battering ram,所有参数同时使用一个数据集,所有参数同一时刻使用数据集的同一个数据;
3、Pitchfork,每个参数分别使用一个数据集,每个参数从各自数据集获取数据,数据位置相同;
4、Cluster bomb,每个参数分别使用一个数据集,遍历数据集模式满足笛卡尔运算;
三、HTTP请求常用头部字段
If-Modified-Since,适合静态文件,浏览器把缓存页面最后修改时间发送给服务器,服务器把这个时间与实际文件的最后修改时间进行对比,如果时间一致则返回304,客户端直接使用本地缓存文件,如果时间不一致则返回新的文件。
If-None-Match,适合静态文件,浏览器在请求报文添加ETag值,如果服务器资源的ETag值没有改变则返回304,客户端直接使用本地缓存文件,否则返回新的文件和ETag值,通过这样的机制可以提高网站性能。
Pragma: no-cache,适用于HTTP1.0和HTTP1.1,防止页面被缓存。
Cache-Control: no-cache,适用于HTTP1.1,防止页面被缓存。
Cookie头域,申明访问的用户信息。
Client头域,申明接受的内容要求,比如Accept: application/json。
Entity头域:
Content-Length,信息长度。
Content-Type,信息类型,比如Content-Type: application/x-www-form-urlencoded; charset=UTF-8。
Miscellaneous头域,Referer提供了请求的上下文信息,告诉服务器请求是从哪个网站过来的,比如我主页链接到一个朋友那里,他就能够统计出每天有多少用户从我主页上的链接访问他的网站。
Transport头域,HTTP1.1默认keepalive,HTTP1.0默认close:
Connection: keep-alive,当一个网页打开完成,客户端和服务器之间传输HTTP数据的TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这个已经建立的连接。Connection: close,当一个网页打开完成,客户端和服务器之间传输HTTP数据的TCP连接会关闭, 当客户端再次发送请求需要重新建立TCP连接。Keep-Alive: timeout=10000, max=100,长连接10000毫秒超时,最多100个长连接,只能服务端配置。
Transfer-Encoding: chunked,服务端响应内容固定时使用Content-Length,对于动态的内容或者在发送数据前不能判定长度的情况下,可以使用分块的方法传送数据,用来提高服务端的响应时间,分块传输特性HTTP1.1开始提供。
Expect: 100-continue,POST数据大于1024字节时,客户端先发送一个请求询问服务端是否愿意接受数据,接收到服务端返回的100-continue应答,客户端才把数据发送给服务端,但也存在一些问题,不是所有服务端都能正确应答100-continue,比如lighttpd就会返回417 Expectation Failed,而且网络良好时会稍微增大请求延迟。
四、HTTP返回常用头部字段
Location头域:
重定向到一个新的地址,包含新的页面地址;
Cache头域:
Date,生成消息的时间和日期;
Expires,浏览器在指定时间内使用缓存;
Entity头域:
ETag、Last-Modified;
Content-Type、Content-Length、Content-Encoding;