引言
Burp Suite 是一个强大的平台,用于对 Web 应用程序进行安全测试。其最基础的工具之一是 Burp Proxy,它允许你拦截、检查和修改浏览器与 Web 服务器之间的流量。
在本实验中,你将学习使用 Burp Proxy 的基本工作流程。你将启用拦截模式,从 Web 浏览器发起请求,在 Burp Suite 中查看捕获的 HTTP 请求,然后将其转发到目标服务器。这项技能是使用 Burp Suite 进行几乎所有 Web 应用程序测试任务的基础。实验环境已为你准备好 Burp Suite 和一个预配置的浏览器。
在 Proxy > Intercept 选项卡中启用拦截模式
在此步骤中,你将启动 Burp Suite 并启用拦截功能,这是捕获 Web 流量的第一步。
首先,启动 Burp Suite 应用程序。你可以在桌面上找到其图标。
- 双击桌面上的 Burp Suite Community Edition 图标。
- 可能会出现一个标题为“Project”的对话框。选择 Temporary project,然后点击 Next。
- 可能会出现另一个标题为“Burp configuration”的对话框。选择 Use Burp defaults,然后点击 Start Burp。
Burp Suite 加载完成后,你需要导航到 Proxy 工具并启用拦截。
- 点击窗口顶部的 Proxy 选项卡。
- 在 Proxy 选项卡中,确保你位于 Intercept 子选项卡。
- 你会看到一个显示 Intercept is off 的按钮。点击此按钮以启用拦截。
按钮的文本将变为 Intercept is on,并且会显示为按下状态。这表明 Burp Proxy 现在已准备好捕获由已配置浏览器发出的任何请求。
在浏览器中发起请求
现在 Burp Suite 中的拦截已启用,你将从 Web 浏览器发起一个请求。Burp Proxy 将在请求到达服务器之前捕获它。本实验环境中的浏览器已配置为通过 Burp Proxy 发送其流量。
- 打开 Firefox Web 浏览器。你可以在桌面上或应用程序面板中找到其图标。
- 在浏览器顶部的地址栏中,输入以下 URL 并按 Enter:
http://127.0.0.1:8000
在你按下 Enter 后,你会注意到浏览器标签显示一个加载图标,但页面并未加载。这是预期行为。请求已从浏览器发出,但现在“卡住”在 Burp Proxy 中,等待你进行检查和转发。
在 Burp Suite 中查看被拦截的请求
在此步骤中,你将切换回 Burp Suite,查看你刚刚从浏览器发起的 HTTP 请求。
返回 Burp Suite 窗口。之前为空的 Proxy > Intercept 选项卡现在包含了你的浏览器发送的完整 HTTP 请求。
你将看到原始请求文本,其内容大致如下:
GET / HTTP/1.1
Host: 127.0.0.1:8000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1
花点时间检查请求的各个部分:
- **请求行 (Request Line)**:
GET / HTTP/1.1显示了方法、路径和 HTTP 版本。 - **请求头 (Headers)**:像
Host和User-Agent这样的行向服务器提供了关于请求和发起客户端的附加信息。 - **请求体 (Body)**:对于像这样的
GET请求,请求体是空的。
此视图对于理解和操作 Web 应用程序的工作方式至关重要。
点击“Forward”按钮将请求发送到服务器
检查完请求后,下一步是允许它继续发送到其目标目的地,即我们的本地 Web 服务器。
在 Burp Suite 的 Proxy > Intercept 选项卡中,你将在请求面板的顶部看到几个按钮:Forward、Drop、Action 等。
- 点击 Forward 按钮。
点击 Forward 后,请求将从拦截视图中消失。Burp Suite 已将请求发送到 127.0.0.1:8000 上的服务器。
现在,切换回你的 Firefox 浏览器。页面现在应该会加载,你将看到文本“Welcome to the LabEx Test Page!”。这证实了请求已成功转发到服务器,并且服务器的响应已发送回浏览器并由浏览器渲染。
关闭拦截模式以允许流量自由流动
最后,你将学习如何关闭拦截模式。当你没有主动检查流量时,关闭拦截至关重要;否则,你所有的浏览都将被阻止。
- 返回 Burp Suite 窗口,并确保你位于 Proxy > Intercept 选项卡。
- 点击 Intercept is on 按钮。
按钮的文本将变回 Intercept is off,并且它将不再显示为被按下状态。现在,Burp Proxy 将允许所有流量通过,而不会停止进行检查。
为了确认这一点,返回 Firefox 浏览器并刷新页面(你可以按 F5 或点击重新加载按钮)。页面将立即重新加载,没有任何延迟,因为请求不再被 Burp Suite 阻止。
总结
在本实验中,你已成功掌握了使用 Burp Proxy 拦截和转发 HTTP 流量的基本工作流程。
你练习了以下关键技能:
- 在
Proxy > Intercept选项卡中启用和禁用拦截模式。 - 捕获浏览器在进行过程中发出的实时 HTTP 请求。
- 查看被拦截请求的原始内容以理解其结构。
- 将请求转发到服务器以完成通信。
这项基本技能是更高级的 Web 安全测试技术的基础,例如修改请求和响应以测试漏洞。
