1.3. WebSockets History(WebSocket 历史)
2.1. Burp Suite内置浏览器 (Open Browser)
4. WebSockets History(WebSocket 历史)
4.2. Burp Suite 中 WebSocket History 的作用
Burp Suite 是一款广泛使用的网络安全测试工具,特别在 Web 应用安全领域具有重要地位。它提供了多种功能模块,帮助安全研究人员进行漏洞检测、漏洞验证以及漏洞修复。本文将介绍 Burp Suite 中常用的几个模块及其基本功能,特别是如何利用 Proxy(代理抓包)、HTTP History(HTTP 历史包)、筛选机制等工具提高测试效率。
本专栏用到的Burp Suite v2021.9.1版本请到前面章节自行下载安装汉化,传送门:BurpSuite工具-利用java安装激活-CSDN博客
如果用的是别的版本也没关系,他们的本质是不变的只是多了一些功能,使用上没啥变化。
一、Burp Suite 项目管理
在启动 Burp Suite 后,首先会看到一个项目管理窗口,您可以在这个窗口进行以下操作:
-
临时工程 (Temporary Project) 选择“临时工程”时,您将创建一个不会保存的项目。它通常适用于短期的测试任务,退出后数据将丢失。
-
新建工程 (New Project on Disk) 选择“新建工程”时,Burp Suite 会创建一个新的项目并将其保存到磁盘中。您可以为此项目指定一个文件夹路径,方便之后查看和管理。
-
打开已有工程 (Open Existing Project) 选择“打开已有工程”时,您可以打开先前保存的项目,接着继续上次未完成的测试工作。
-
暂停自动化任务 (Pause Automated Tasks) 如果您正在执行自动化测试任务(如爬虫、扫描等),可以选择暂停它们,以便进行手动干预或调整配置。
二、Proxy(代理抓包模块)
1. 简要说明
Proxy 模块是用于拦截和修改客户端与服务器之间的 HTTP/HTTPS 请求和响应的核心组件。它充当中间人角色,将浏览器的请求通过代理转发给目标服务器,并将服务器的响应返回给浏览器。在此过程中,我们可以查看请求与响应内容,并进行修改,进而模拟攻击、测试漏洞。例如,通过插入恶意代码(如 XSS、SQL 注入等),验证 Web 应用的安全性。
下面是该模块的功能和选项
1.1. Intercept(拦截)
-
功能:Intercept 是 Burp Suite Proxy 模块中的一个关键功能,它允许您拦截并查看传输中的 HTTP/HTTPS 请求和响应。通过启用拦截,您可以暂停请求和响应在到达目标服务器或返回给客户端之前,修改它们的内容。
-
使用方式:在 Burp Suite 中,点击 Proxy 模块下的 Intercept 选项卡,可以查看和操作这些请求和响应。您可以选择 Intercept is on 或 Intercept is off 来控制是否开启拦截功能。
1.2. HTTP History(HTTP 历史)
-
功能:HTTP History 选项卡会记录所有通过代理的 HTTP 请求和响应的详细信息,包括它们的头部、体积以及与服务器交互的各种信息。这为后期分析和调试提供了有用的历史记录。
-
使用方式:在 Proxy 模块下的 HTTP History 选项卡,您可以查看每个 HTTP 请求和响应的详细信息,包括请求方法、URL、响应状态、头部信息等。您还可以通过过滤器查找特定的请求。
1.3. WebSockets History(WebSocket 历史)
-
功能:WebSockets History 是 Burp Suite 中针对 WebSocket 通信的专门功能。它记录通过代理的 WebSocket 数据帧,允许用户查看和修改 WebSocket 通信中的消息内容。
-
使用方式:在 Proxy 模块下的 WebSockets History 选项卡中,您可以查看 WebSocket 连接的请求和响应,包括每个数据帧的内容。您可以过滤、分析并修改这些通信内容,以帮助您进行 WebSocket 安全测试。
1.4. Options(选项)
-
功能:Options 选项卡用于配置和定制 Burp Suite Proxy 模块的行为。通过这个选项卡,您可以设置代理端口、拦截行为、请求和响应的修改规则等。还可以设置 Burp Suite 代理的详细配置,例如是否启用 SSL/TLS 代理、是否添加自动重定向规则、是否使用拦截器等。
-
使用方式:在 Proxy 模块下的Options选项卡中,您可以配置以下内容:
-
Proxy Listeners:设置监听的端口和地址。
-
Intercept Client Requests:设置拦截请求的条件。
-
Request/Response Modifications:定义请求和响应的自动修改规则。
-
SSL/TLS Certificates:管理和配置 SSL 证书,用于 HTTPS 流量拦截。
-
Other Settings:其他代理配置选项,如会话存储、缓存策略等。
-
2. Intercept(拦截)
2.1. Burp Suite内置浏览器 (Open Browser)
Burp Suite 自带一个浏览器功能,它可以通过设置代理来捕获所有 HTTP 请求。当你使用 Burp 自带的浏览器访问 Web 应用时,所有请求都会经过 Burp 的 Proxy 模块进行转发,这样可以非常方便地监控并分析所有请求和响应。
点击Open Browser或者内置浏览器就会弹出来,看最下方可以看出这个内置浏览器用的是谷歌浏览器的内核。
2.2 Intercept常用操作
在 Proxy 模块中,常见的操作包括:
-
抓包:抓取传输中的 HTTP 请求包和响应包。
-
丢弃包(Drop):丢弃某些请求包,这意味着该请求不会到达目标服务器。
-
转发包(Forward):发送当前捕获的包到目标服务器,继续执行下一步操作。
通过这些操作,你可以灵活地控制数据流,进行不同的安全测试,用前面Burp Suite内置浏览器浏览器访问百度来进行演示
Intercept对于数据包操作分别有三个功能,发送、丢弃、拦截,需要先用到拦截功能,抓取数据包停在我们这一步然后在进行对应发包和改包之类的操作。
我们可以任意修改数据包再进行发送,当然如果他后端需要对应参数,但是被你删除了就会导致发包失败。
这里多了一个行动按钮,在别的版本可能会不存在因为这个功能其实和你右键数据包的效果是一致的,我们在这里可以进行数据包的转发,比如转发到Intruder(爆破模块)、Repeater(重放模块)亦或者可以修改请求方式将GET请求修改成POST请求和拦截请求包等等的操作(一般情况下Intercept不会对请求包进行拦截)。
最后丢弃数据包功能的使用,会在特定的地方会用上,比如你拦截了一个表单的提交,然而你想转发到重放器修改他的值进行测试亦或者注册登录的功能点,这时候你就可能需要将这个数据包丢弃,防止自动提交影响后面已经转发到重放、爆破模块的数据包。
3. HTTP History(HTTP 历史)
3.1. 记录历史包
Burp Suite 通过 HTTP History 模块记录所有通过 Proxy 捕获的 HTTP 请求。你可以查看每个请求的详细信息,包括请求方法(GET、POST 等)、URL 地址、请求参数、IP 地址等。这使得你能够迅速审查应用的行为并识别潜在的安全问题。
PS:HTTP History和Logger的区别在于,它只会记录Proxy 捕获的 HTTP 请求,但是Logger会记录所有经过Burp Suite 的HTTP 请求,比如Intruder(爆破模块)、Repeater(重放模块)。
3.2. 筛选历史包
为了提高效率,Burp Suite 提供了筛选功能,让你能够根据特定的条件查找 HTTP 请求。例如,你可以筛选出包含 script 或 css 等元素的请求,这对于查找 XSS 漏洞尤其有用。此外,你还可以通过筛选请求的方法、URL、响应状态码等进一步精确定位漏洞。
还可以按端口号(如常见的 3306、443、3389 等端口)进行筛选,找出可能存在的敏感端口请求。可以根据请求的内容类型(如 HTML、JSON)进行筛选,集中分析潜在的漏洞。
右键可以呼唤出功能栏删除历史包。
4. WebSockets History(WebSocket 历史)
4.1. WebSocke是什么
WebSocket 是一种在客户端和服务器之间建立的全双工(双向)通信协议,它允许在单一的持久连接上进行实时数据交换。与传统的 HTTP 协议不同,WebSocket 允许客户端和服务器之间进行双向通信,且无需频繁地打开和关闭连接,这使得 WebSocket 特别适用于需要高频实时交互的应用场景,如在线聊天、实时游戏、股票行情、实时通知等。
4.2. Burp Suite 中 WebSocket History 的作用
-
捕获 WebSocket 消息:Burp Suite 能够捕获 WebSocket 连接中的所有消息,包括客户端向服务器发送的消息以及服务器向客户端发送的响应。
-
分析实时通信:通过查看 WebSocket 连接的历史记录,测试人员可以分析实时应用程序的行为,找出可能存在的安全问题,例如身份验证绕过、信息泄露或不安全的用户输入。
-
修改 WebSocket 消息:在 WebSocket History 中,用户可以选择修改 WebSocket 消息并重新发送,这对于进行反向测试(例如检查是否能够篡改数据)非常有用。
-
调试 WebSocket 通信:Burp Suite 提供了一种简单的界面,允许用户查看 WebSocket 消息的详细内容(包括消息的发送时间、数据大小等),帮助调试和排查问题。
5. Options(选项)
Options 选项卡用于配置和定制 Burp Suite Proxy 模块的行为。通过这个选项卡,您可以设置代理端口、拦截行为、请求和响应的修改规则等。
这里可以看到代理监听器的监听地址和端口还有拦截客户端请求的规则等。下一章浏览器的抓包会讲到部分。
结语
通过对 Burp Suite 中 Proxy(代理抓包模块) 的详细学习与分析,我们可以更好地理解其在渗透测试和安全评估中的重要作用。通过对 Intercept(拦截)、HTTP History(HTTP 历史)、WebSocket History(WebSocket 历史) 以及 Options(选项) 的深入了解,安全研究人员可以高效地捕获、分析和修改请求与响应,进而发现潜在的安全漏洞。
Burp Suite 不仅为渗透测试提供了强大的抓包和调试功能,还通过内置浏览器和灵活的筛选机制,使得测试过程更加高效与精准。而对于实时通信和 WebSocket 的支持,更是拓展了其应用场景,适用于现代 Web 应用的复杂性和实时性需求。