Burp Suite 几个基本工具的使用

2023-07-25  质量实验室 

作者:杨若 | QE_LAB

前阵子项目上想通过测试工具在网页上模拟返回错误代码500来查看页面的错误处理,然后去调查了下burp suite,看了些基本工具的使用文档。虽然最后证实burp suite只能用来处理页面测试应用程序的实际行为和响应,而不是尝试模拟不存在的问题或错误,但还是有所收获,也想和大家分享一下这几个burp suite社区版提供的基本工具。

Burp Suite 简单介绍

Burp Suite是一款安全测试工具,具有拦截、代理、扫描、攻击、测试等多种功能,可以对Web应用程序进行安全评估、漏洞扫描和渗透测试。Burp Suite分为社区版、专业版还有企业版。社区版只有最基础的手动安全测试工具(Inspector, Repeater, Sequencer, Comparer),并且不能保存项目文件;专业版可以保存,具有完整的burp工具箱,可以自定义攻击,扫描漏洞,设置自动化安全测试等;企业版可以自动进行动态扫描,将扫描集成到CI/CD平台等。

Burp Suite 的使用

1. 安装

Burp Suite 社区版直接在官网下载软件,打开即用。但是打开后只有Temporary Project,每次项目文件无法保存。

2. Proxy

Burp Porxy可以拦截并记录Burp Browser和目标服务器之间发送的Websocket通信/HTTP请求和响应。

点击Open browser后,会自动启动一个Chromium浏览器,就是上面提到的Burp Browser。官方文档建议将Burp Suite和Burp Browser调整到你可以同时看到两个窗口以便于后续操作。

在Intercept is off的情况下,Burp Browser只会记录浏览器的历史。当打开Intercept时,每一个http请求都会被拦截下来,多次点击Forward,发送被拦截的请求,以及任何后续的请求,直到该页面在Burp的浏览器中加载。因为开启Intercept后执行的每个HTTP请求都需要点击Forward才可以继续,所以最好是先不开启Intercept,执行到自己需要的步骤前一到两步,再打开。

这个拦截步骤也是后续使用Burp Suite 工具的一个前提。

可以看到在拦截下的请求中,有个Action的选项,展开后,可以将当前拦截下的请求发送到几个基础工具中,下面来一一介绍。

Burp Suite 的基础工具

1. Inspector

Inspector能够快速查看和编辑HTTP和WebSocket消息的特征。

如上图所示,http请求被拦截下时,右边有个Inspector的区域。一共有Request Attributes, Request Query Parameters, Request Body Parameters, Request Cookies, Request Headers五个部分,可以展开查看每个部分的内容,也可以手动更改内容值。例如Request Attributes中可以选择使用HTTP/1或HTTP/2协议,或者更改HTTP Method等。其他部分也可以直接对参数值进行修改,修改后直接Apply changes,应用成功后的修改会变成橙色的,然后点击Forward观察页面变化。

2. Repeater

Burp Repeater能够修改并反复发送一个HTTP或WebSocket消息。

在拦截到请求时点击Action -> Send to Repeater, 拦截的请求会被发送到Repeater中(可以发送多个请求到Repeater中)。在Repeater里,可以任意修改请求内容,并且查看对应的响应。

而且,在请求或响应中选择的对应文本,会直接显示在Inspector中,伴随显示解码后的文本,解码类型有四种URL encoding, HTML encoding, Base 64, Base 64 URL。

3. Sequencer

Sequencer用来生成随机数和伪随机数,可以帮助分析分析token样本中的随机性质量。token可以是Session tokens, Anti-CSRF tokens, Password reset tokens等旨在保持不可预测性的令牌。

将包含会话信息的请求转发到Sequencer中,Token Location Within Response会自动识别token,也可以自己选择想要分析的token;Live Capture Options可以控制线程数量和请求的限制速率等。设置好上述两个部分,就可以点击Start live capture来分析对应的token了。

Burp Suite会产生另一个页面来分析token的指标,有效熵、可靠性等,还有字符级别和位级别的分析。不点击stop,样本量会无限增长,可以在Auto analyze旁边的next知道这一阶段的目标样本量。

4. Comparer

Comparer可以比较识别出请求或响应之间的微妙差异,也可以比较任何两个数据项。

拦截请求后发送给Comparer,请求会自动复制到Comparer的列表上,在上下两个部分分别选择两个不同的选项,并在右下角选择比较单词还是字节。

弹出的弹窗里会自动进行左右两边的对比,像diff一样将右边与左边对比修改,删除和增加的各项。

拦截请求只能将请求进行对比,如果想对比响应的话,需要自己复制粘贴到列表中,选择后也可以进行对比。

5. Intruder

Intruder是一个用于对网络应用程序进行自动化定制攻击的工具。能够配置攻击参数,反复发送相同的HTTP请求,根据不同的攻击方式,每次在预定义的位置插入不同的payload发送请求。

将请求发送到Intruder后,可以选择攻击类型以及要攻击的参数。

然后在Payloads的页面中配置要使用的攻击负载类型,添加常见的攻击负载(社区版只能手动添加,专业版可以直接上传文件)。

然后点击start attack开始发送请求攻击,并弹出一个对应的响应列表,供使用者查看。

结语

上述五种工具是Burp Suite的几个基本工具,使用方法较为简单,但是在做安全测试时测试的角度和测试数据之类的还是需要一定的积累。之前也接触过另一个安全测试工具OWASP ZAP,使用过类似Repeater的工具,相比较起来,Burp Suite的界面更容易上手,更加简单一点,只是社区版功能太少,很多功能只能手动操作。

感谢大家看到这里,如果有任何疑问或建议也欢迎留comments给我!

参考文档:Brup文档

101°/1018 人阅读/0 条评论 发表评论

登录 后发表评论