黑客网站渗透入侵破解拿权限
10.4K subscribers
2.39K photos
108 links
Download Telegram
浏览器添加 SSL 证书
我们必须在浏览器中添加证书,以便拦截和分析客户端和服务器之间的加密通信。
当您的浏览器请求安全网站 (HTTPS) 时,传输将使用 SSL/TLS 加密进行加密。Burp Suite 通过使用生成的证书拦截和解密通信,充当“中间人”。
然而要做到这一点,客户端必须信任生成的证书。通过将 Burp 的 CA 证书导入到客户端的信任存储中,客户端将授权 Burp Suite 执行的拦截和解密。
启动 Burp Suite 并导航到代理选项卡。
单击“拦截”子选项卡并确保“拦截”按钮已打开。
在浏览器中访问http://burpsuite,然后单击“CA证书”下载并保存到下载文件夹。该文件名为cacert.der。
接下来,在 Firefox 搜索栏中输入 about:preferences 并按回车键;这将带您进入设置页面。搜索“证书”并找到“查看证书”选项。
“查看证书”按钮可让您查看所有受信任的 CA 证书。您可以按“导入”并选择我们下载的文件,为 Portswigger 注册新证书。
在弹出的菜单中,选择“信任此 CA 来识别网站”,然后单击确定。
任何加密流量都应通过 Burp Suite,这样我们就可以拦截请求
Burp 代理
要开始使用 Burp Suite,我们需要打开它的代理并开始拦截流量。

代理如何工作
代理,简单来说,是客户端(如浏览器)和服务器(如 Web 应用程序)之间的服务器。

您可以将代理想象成两个说不同语言的人之间的翻译。翻译器(代理)会监听一个人(客户端)的对话,翻译他们的消息,然后将其转发给另一个人(目标服务器)。然后,翻译器会监听响应,翻译响应,然后将其转发给第一个人。

在这个类比中,翻译器可以根据需要修改消息或响应,就像代理可以操纵客户端和服务器之间的网络流量一样。
Burp Suite 设置目标范围,目标范围定义项目的范围并确保仅在指定的域、子域和 URL 路径上执行测试,而不是整个互联网。
要在 Burp Suite 中定义目标范围,请按照以下步骤操作:
转到 界面顶部的“目标”选项卡。
选择范围设置子 选项卡来定义目标应用程序的范围。
单击“目标范围”部分中的添加 按钮,指定要包含在目标范围中的 URL 或域。
弹出窗口会通知您“代理历史记录”。单击“是”,这将阻止 Burp Suite 记录任何超出范围的请求。它使您能够避免积累超出范围的项目数据。
修改拦截客户端请求
通过调整 Burp Suite 中的客户端请求拦截选项,您可以控制在工作时拦截和查看哪些请求。
浏览互联网和访问其他网站,因为 Burp Suite 只会拦截范围内的项目。
请按照以下步骤修改设置:
导航到 Burp Suite 界面顶部的“代理”选项卡。
选择代理设置 子选项卡来访问 Burp 代理设置。
在“请求拦截规则”部分,您可以定义捕获请求的条件。
启用“ And/URL/is in target scope ”并单击确定。
在“响应拦截规则”部分进行相同的更改
Burp Suite 现在将仅拦截范围内的 HTTP 和 HTTPS 请求,从而可以更有针对性、更有效地分析目标应用程序的流量。
看看 Burp Proxy 如何使用 DVWA 工作。我们将尝试登录该应用程序。
用户名: admin
密码:admin
当点击登录按钮时,我们向服务器发出的请求将被 Burp Suite 拦截,并且我们可以选择在将其发送到服务器以获得响应之前编辑参数。
此时,我们可以按原样转发请求、删除请求,甚至更改发送给服务器的内容,例如更改标头中的用户名或密码值。
创建站点地图
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 中检查它。我们最感兴趣的元素是 = 符号后面的元素。我们可以更改它的值。
Repeater 中收到请求后,您可以修改参数、标头或其他元素,以充分测试目标应用程序。要向服务器发送请求以获取响应,请单击“发送”。服务器的响应将显示在“原始”选项卡中。

可以从服务器响应中收集大量信息。在本例中,我们可以看到此应用程序在 Ubuntu 上运行 Apache 和 PHP。这在进行 Web 应用程序渗透测试时非常有用。

您还可以在“Pretty、Hex 或 Render”视图中查看响应。Pretty 提供格式化且易于阅读的响应表示。Hex 视图显示原始二进制数据,最适合用于非文本数据。Render 提供类似于 Burp 嵌入式浏览器的浏览器内显示,让您可以看到内容在浏览器中的显示方式。

由于我们正在处理 Linux 系统上的文件包含漏洞,我们可以尝试读取 /etc/passwd 文件。Linux 中的文件包含有关系统上每个用户帐户的信息。

可以将 GET 请求值从 ?page= include.php 更改为 /etc/passwd,然后单击“发送”以检查 Repeater 中的响应。
由于 Comparer 需要多个响应,因此我们必须向服务器发送不同的请求。由于这是一个命令执行漏洞,我们应该能够运行该 ls 命令。我们将在请求中的 IP 地址后添加命令并将其发送到服务器。然后,右键单击响应并将其发送到 Comparer。

比较器数据可分为三个部分。主窗口是您可以查看要比较的项目的地方,例如项目编号、长度和数据。屏幕右上方是“粘贴、加载、删除或清除”数据的选项。屏幕右下方为您提供了两个比较数据的选项。要么按“字”比较,要么按“字节”比较。
从数据的长度看出答案存在差异。我们将通过“字数”比较两个答案并查看结果。启用“同步视图”,这样两个窗口就会同时移动,从而更容易发现差异。

Comparer 将以三种不同颜色显示数据。橙色表示“已修改”,蓝色表示“已删除”,黄色表示“已添加”。

如果我们向下滚动,我们可以看到从服务器收到的数据有一些差异。我们能够成功执行命令并显示目录的内容。
Burp入侵者
Burp Suite 的 Intruder 是一款功能强大的工具,可自动对 Web 应用程序进行自定义攻击。可以使用它来测试各种输入并识别潜在漏洞。例如,通过使用登录尝试拦截请求,我们可以使用 Intruder 将用户名和密码字段替换为单词列表中的值。

要充分利用 Intruder 的速度,需要 Burp Professional。虽然 Intruder 仍可与 Burp Community 一起使用,但其速率受到很大限制。因此大多数人使用其他工具来完成此任务。

使用 DVWA 的暴力破解部分来演示 Intruder。一旦我们拦截了登录页面的请求,我们就可以通过右键单击并选择“发送给 Intruder”将请求发送给 Intruder。
进入 Intruder 选项卡后,我们必须设置所有选项以运行攻击。默认情况下,Burp Suite 将用绿色突出显示所有潜在的有效负载变量,并用 $ 字符括起来。我们不需要所有这些变量,因为我们只对用户名和密码字段感兴趣。

要清除有效载荷位置,请单击“清除”。

我们需要选择要使用的攻击类型。不同的攻击类型如下所列。

Intruder中常见的攻击类型有四种:

狙击手: 使用一组有效载荷,并将有效载荷逐一发射到所有选定的位置。
攻城槌: 使用一组有效载荷,并同时将相同的有效载荷注入所有选定的位置。
Pitchfork: 需要两个或更多个有效载荷组,并且在每个位置使用每个组中相应的有效载荷。
集束炸弹: 需要多个有效载荷组并测试每个位置的所有组合中的有效载荷。
对于我们的场景,我们将使用“集束炸弹”攻击来遍历每个有效载荷集,测试我们提供的所有可能的组合。

接下来,通过突出显示admin 和admin 并单击“添加”仅添加用户名和密码值。
在攻击中使用的有效载荷。由于我们设置了两个有效载荷位置,因此我们必须设置每组。第一组用于用户名,第二组用于密码。
可以将有效载荷类型保留为“简单列表”,但请注意还有其他选项,例如“自定义迭代器”和“字符替换”,“Payload Settings” 部分中有六个选项,如下所示。这些选项允许我们加载列表或手动添加项目。
粘贴 ——从剪贴板插入列表。
加载 ——从文件加载列表。
删除 ——删除突出显示的项目。
清除 ——删除列表中的所有项目。
重复数据删除 - 从列表中删除重复条目。通过减少发送的请求数量,可以提高攻击效率。
添加 ——输入新项目。
攻击结果将显示在新窗口中。通过查找差异或潜在漏洞指标来分析响应。

在攻击结果窗口中,您可以对状态、长度和错误等列进行排序,以帮助您识别可能表明成功登录 Web 应用程序的响应变化。

我们可以对“长度”列进行排序,看看大小是否有差异。

有一个长度与其他长度不同,这可能表明我们登录成功。我们可以尝试使用凭据登录应用程序来验证这一点。

我们可以使用用户名:admin 和密码:password 成功登录。