Burp 代理
要开始使用 Burp Suite,我们需要打开它的代理并开始拦截流量。
代理如何工作
代理,简单来说,是客户端(如浏览器)和服务器(如 Web 应用程序)之间的服务器。
您可以将代理想象成两个说不同语言的人之间的翻译。翻译器(代理)会监听一个人(客户端)的对话,翻译他们的消息,然后将其转发给另一个人(目标服务器)。然后,翻译器会监听响应,翻译响应,然后将其转发给第一个人。
在这个类比中,翻译器可以根据需要修改消息或响应,就像代理可以操纵客户端和服务器之间的网络流量一样。
要开始使用 Burp Suite,我们需要打开它的代理并开始拦截流量。
代理如何工作
代理,简单来说,是客户端(如浏览器)和服务器(如 Web 应用程序)之间的服务器。
您可以将代理想象成两个说不同语言的人之间的翻译。翻译器(代理)会监听一个人(客户端)的对话,翻译他们的消息,然后将其转发给另一个人(目标服务器)。然后,翻译器会监听响应,翻译响应,然后将其转发给第一个人。
在这个类比中,翻译器可以根据需要修改消息或响应,就像代理可以操纵客户端和服务器之间的网络流量一样。
修改拦截客户端请求
通过调整 Burp Suite 中的客户端请求拦截选项,您可以控制在工作时拦截和查看哪些请求。
浏览互联网和访问其他网站,因为 Burp Suite 只会拦截范围内的项目。
请按照以下步骤修改设置:
导航到 Burp Suite 界面顶部的“代理”选项卡。
选择代理设置 子选项卡来访问 Burp 代理设置。
在“请求拦截规则”部分,您可以定义捕获请求的条件。
启用“ And/URL/is in target scope ”并单击确定。
在“响应拦截规则”部分进行相同的更改
通过调整 Burp Suite 中的客户端请求拦截选项,您可以控制在工作时拦截和查看哪些请求。
浏览互联网和访问其他网站,因为 Burp Suite 只会拦截范围内的项目。
请按照以下步骤修改设置:
导航到 Burp Suite 界面顶部的“代理”选项卡。
选择代理设置 子选项卡来访问 Burp 代理设置。
在“请求拦截规则”部分,您可以定义捕获请求的条件。
启用“ And/URL/is in target scope ”并单击确定。
在“响应拦截规则”部分进行相同的更改
创建站点地图
Burp Suite 的一项功能是能够创建您正在测试的站点的地图。这是一项很棒的功能,因为它可以让您了解站点的结构。您可以使用站点地图将内容发送到 Burp 的其他工具。
要创建站点地图,请确保拦截已关闭、FoxyProxy 已启用,并且目标站点已添加到范围中。然后,导航到“目标”选项卡并选择“站点地图”子选项卡。
开始浏览目标站点,Burp Site 将构建站点地图。
Burp Suite 完成抓取后,您可以在“站点地图”子选项卡下的“目标”选项卡中查看发现的内容。此站点结构的全面视图对于进一步的测试和分析非常有用,可让您识别潜在的漏洞。
左侧窗格中的树状视图包含内容的层次结构表示。树状视图将 URL 显示为域、目录、文件和参数化请求。
Burp Suite 的一项功能是能够创建您正在测试的站点的地图。这是一项很棒的功能,因为它可以让您了解站点的结构。您可以使用站点地图将内容发送到 Burp 的其他工具。
要创建站点地图,请确保拦截已关闭、FoxyProxy 已启用,并且目标站点已添加到范围中。然后,导航到“目标”选项卡并选择“站点地图”子选项卡。
开始浏览目标站点,Burp Site 将构建站点地图。
Burp Suite 完成抓取后,您可以在“站点地图”子选项卡下的“目标”选项卡中查看发现的内容。此站点结构的全面视图对于进一步的测试和分析非常有用,可让您识别潜在的漏洞。
左侧窗格中的树状视图包含内容的层次结构表示。树状视图将 URL 显示为域、目录、文件和参数化请求。
Burp 中继器
在我们的 Burp Suite 教程的此部分中,我们将讨论如何使用 Repeater 工具及其在手动漏洞评估中的用途。
Repeater 工具允许您修改和重新发送 HTTP 或 WebSocket 消息。这对于测试基于输入的漏洞或变化的参数值非常有用。
我们可以使用 Burp Proxy 抓取请求,进行更改,然后根据需要多次发送相同的请求,例如当我们使用 cURL 等命令行工具从头开始创建请求时。
首先,我们来看看 DVWA 中的本地文件包含漏洞。本地文件包含漏洞允许攻击者访问、读取或包含他们本不打算访问的服务器文件。
我们可以使用 Burp 的 Repeater 选项来查看实际效果。确保 Burp 正在运行,并且已启用 Intercept 和 FoxyProxy。
首先,我们拦截来自文件包含页面的请求,并在 Burp 中检查它。我们最感兴趣的元素是 = 符号后面的元素。我们可以更改它的值。
在我们的 Burp Suite 教程的此部分中,我们将讨论如何使用 Repeater 工具及其在手动漏洞评估中的用途。
Repeater 工具允许您修改和重新发送 HTTP 或 WebSocket 消息。这对于测试基于输入的漏洞或变化的参数值非常有用。
我们可以使用 Burp Proxy 抓取请求,进行更改,然后根据需要多次发送相同的请求,例如当我们使用 cURL 等命令行工具从头开始创建请求时。
首先,我们来看看 DVWA 中的本地文件包含漏洞。本地文件包含漏洞允许攻击者访问、读取或包含他们本不打算访问的服务器文件。
我们可以使用 Burp 的 Repeater 选项来查看实际效果。确保 Burp 正在运行,并且已启用 Intercept 和 FoxyProxy。
首先,我们拦截来自文件包含页面的请求,并在 Burp 中检查它。我们最感兴趣的元素是 = 符号后面的元素。我们可以更改它的值。
Repeater 中收到请求后,您可以修改参数、标头或其他元素,以充分测试目标应用程序。要向服务器发送请求以获取响应,请单击“发送”。服务器的响应将显示在“原始”选项卡中。
可以从服务器响应中收集大量信息。在本例中,我们可以看到此应用程序在 Ubuntu 上运行 Apache 和 PHP。这在进行 Web 应用程序渗透测试时非常有用。
您还可以在“Pretty、Hex 或 Render”视图中查看响应。Pretty 提供格式化且易于阅读的响应表示。Hex 视图显示原始二进制数据,最适合用于非文本数据。Render 提供类似于 Burp 嵌入式浏览器的浏览器内显示,让您可以看到内容在浏览器中的显示方式。
由于我们正在处理 Linux 系统上的文件包含漏洞,我们可以尝试读取 /etc/passwd 文件。Linux 中的文件包含有关系统上每个用户帐户的信息。
可以将 GET 请求值从 ?page= include.php 更改为 /etc/passwd,然后单击“发送”以检查 Repeater 中的响应。
可以从服务器响应中收集大量信息。在本例中,我们可以看到此应用程序在 Ubuntu 上运行 Apache 和 PHP。这在进行 Web 应用程序渗透测试时非常有用。
您还可以在“Pretty、Hex 或 Render”视图中查看响应。Pretty 提供格式化且易于阅读的响应表示。Hex 视图显示原始二进制数据,最适合用于非文本数据。Render 提供类似于 Burp 嵌入式浏览器的浏览器内显示,让您可以看到内容在浏览器中的显示方式。
由于我们正在处理 Linux 系统上的文件包含漏洞,我们可以尝试读取 /etc/passwd 文件。Linux 中的文件包含有关系统上每个用户帐户的信息。
可以将 GET 请求值从 ?page= include.php 更改为 /etc/passwd,然后单击“发送”以检查 Repeater 中的响应。
从数据的长度看出答案存在差异。我们将通过“字数”比较两个答案并查看结果。启用“同步视图”,这样两个窗口就会同时移动,从而更容易发现差异。
Comparer 将以三种不同颜色显示数据。橙色表示“已修改”,蓝色表示“已删除”,黄色表示“已添加”。
如果我们向下滚动,我们可以看到从服务器收到的数据有一些差异。我们能够成功执行命令并显示目录的内容。
Comparer 将以三种不同颜色显示数据。橙色表示“已修改”,蓝色表示“已删除”,黄色表示“已添加”。
如果我们向下滚动,我们可以看到从服务器收到的数据有一些差异。我们能够成功执行命令并显示目录的内容。
Burp入侵者
Burp Suite 的 Intruder 是一款功能强大的工具,可自动对 Web 应用程序进行自定义攻击。可以使用它来测试各种输入并识别潜在漏洞。例如,通过使用登录尝试拦截请求,我们可以使用 Intruder 将用户名和密码字段替换为单词列表中的值。
要充分利用 Intruder 的速度,需要 Burp Professional。虽然 Intruder 仍可与 Burp Community 一起使用,但其速率受到很大限制。因此大多数人使用其他工具来完成此任务。
使用 DVWA 的暴力破解部分来演示 Intruder。一旦我们拦截了登录页面的请求,我们就可以通过右键单击并选择“发送给 Intruder”将请求发送给 Intruder。
Burp Suite 的 Intruder 是一款功能强大的工具,可自动对 Web 应用程序进行自定义攻击。可以使用它来测试各种输入并识别潜在漏洞。例如,通过使用登录尝试拦截请求,我们可以使用 Intruder 将用户名和密码字段替换为单词列表中的值。
要充分利用 Intruder 的速度,需要 Burp Professional。虽然 Intruder 仍可与 Burp Community 一起使用,但其速率受到很大限制。因此大多数人使用其他工具来完成此任务。
使用 DVWA 的暴力破解部分来演示 Intruder。一旦我们拦截了登录页面的请求,我们就可以通过右键单击并选择“发送给 Intruder”将请求发送给 Intruder。
进入 Intruder 选项卡后,我们必须设置所有选项以运行攻击。默认情况下,Burp Suite 将用绿色突出显示所有潜在的有效负载变量,并用 $ 字符括起来。我们不需要所有这些变量,因为我们只对用户名和密码字段感兴趣。
要清除有效载荷位置,请单击“清除”。
我们需要选择要使用的攻击类型。不同的攻击类型如下所列。
Intruder中常见的攻击类型有四种:
狙击手: 使用一组有效载荷,并将有效载荷逐一发射到所有选定的位置。
攻城槌: 使用一组有效载荷,并同时将相同的有效载荷注入所有选定的位置。
Pitchfork: 需要两个或更多个有效载荷组,并且在每个位置使用每个组中相应的有效载荷。
集束炸弹: 需要多个有效载荷组并测试每个位置的所有组合中的有效载荷。
对于我们的场景,我们将使用“集束炸弹”攻击来遍历每个有效载荷集,测试我们提供的所有可能的组合。
接下来,通过突出显示admin 和admin 并单击“添加”仅添加用户名和密码值。
要清除有效载荷位置,请单击“清除”。
我们需要选择要使用的攻击类型。不同的攻击类型如下所列。
Intruder中常见的攻击类型有四种:
狙击手: 使用一组有效载荷,并将有效载荷逐一发射到所有选定的位置。
攻城槌: 使用一组有效载荷,并同时将相同的有效载荷注入所有选定的位置。
Pitchfork: 需要两个或更多个有效载荷组,并且在每个位置使用每个组中相应的有效载荷。
集束炸弹: 需要多个有效载荷组并测试每个位置的所有组合中的有效载荷。
对于我们的场景,我们将使用“集束炸弹”攻击来遍历每个有效载荷集,测试我们提供的所有可能的组合。
接下来,通过突出显示admin 和admin 并单击“添加”仅添加用户名和密码值。
攻击结果将显示在新窗口中。通过查找差异或潜在漏洞指标来分析响应。
在攻击结果窗口中,您可以对状态、长度和错误等列进行排序,以帮助您识别可能表明成功登录 Web 应用程序的响应变化。
我们可以对“长度”列进行排序,看看大小是否有差异。
有一个长度与其他长度不同,这可能表明我们登录成功。我们可以尝试使用凭据登录应用程序来验证这一点。
我们可以使用用户名:admin 和密码:password 成功登录。
在攻击结果窗口中,您可以对状态、长度和错误等列进行排序,以帮助您识别可能表明成功登录 Web 应用程序的响应变化。
我们可以对“长度”列进行排序,看看大小是否有差异。
有一个长度与其他长度不同,这可能表明我们登录成功。我们可以尝试使用凭据登录应用程序来验证这一点。
我们可以使用用户名:admin 和密码:password 成功登录。
Burp 扩展
Burp Suite 扩展允许您自定义和增强 Burp Suite 的功能。要添加和管理扩展,请导航至“扩展器”选项卡并访问 BApp Store。
BApp Store 中有许多免费扩展程序,与 Burp Suite 社区版兼容。一些流行的例子包括:
Param Miner:用于发现 Web 应用程序中的隐藏参数。
Hackvertor:一种可以转换、解释、编码、解码、加密、解密、生成哈希值、压缩、扩展、修改和管理数据的工具。
CO2:一组工具,包括 SQL Mapper、JWT Decoder 和 Hasher,旨在简化和自动化测试过程中的各种任务。
记得定期浏览 BApp Store,因为会经常添加新的扩展。尝试不同的扩展,找到最适合需求的扩展。
Burp Suite 扩展允许您自定义和增强 Burp Suite 的功能。要添加和管理扩展,请导航至“扩展器”选项卡并访问 BApp Store。
BApp Store 中有许多免费扩展程序,与 Burp Suite 社区版兼容。一些流行的例子包括:
Param Miner:用于发现 Web 应用程序中的隐藏参数。
Hackvertor:一种可以转换、解释、编码、解码、加密、解密、生成哈希值、压缩、扩展、修改和管理数据的工具。
CO2:一组工具,包括 SQL Mapper、JWT Decoder 和 Hasher,旨在简化和自动化测试过程中的各种任务。
记得定期浏览 BApp Store,因为会经常添加新的扩展。尝试不同的扩展,找到最适合需求的扩展。
Bettercap 是一款用于中间人攻击框架,它具有跨平台、轻量级以及模块化等优点
DNS欺骗这里有一个前提,那就是 局域网内的主机的DNS服务器是局域网内的网关 ,那样我们才能进行DNS欺骗
打开bettercap的目录创建一个文件host,文件中存放这要欺骗的域名和地址,进行DNS欺骗的时候只需要设置 arp.spoof.hosts 这个参数即可
DNS欺骗这里有一个前提,那就是 局域网内的主机的DNS服务器是局域网内的网关 ,那样我们才能进行DNS欺骗
打开bettercap的目录创建一个文件host,文件中存放这要欺骗的域名和地址,进行DNS欺骗的时候只需要设置 arp.spoof.hosts 这个参数即可