专业的社区

如何使用Burp Suite进行渗透测试

  • 最近更新时间:2022年4月6日

  • 阅读时间:10分钟

下面的部分描述了如何在Web应用程序测试工作流程中使用BURP Suite的基本信息。beplay体育能用吗有关安装和启动BURP,启动项目以及配置显示设置的帮助,请参阅帮助Burp Suite入门

如果这是您第一次使用Burp Suite,我们建议观看以下视频以熟悉用户界面。

您可以在YouTube上查看我们其余的“ Burp Suite Essentials”播放列表。

使用burp渗透测试,您可以:

  • 使用burp嵌入式浏览器,不需要其他配置。去代理>拦截选项卡并单击打开浏览器。将打开一个新的浏览器会话,其中所有流量通过Burp自动代理。您甚至可以使用它来通过HTTPS进行测试,而无需安装BURP的CA证书。
  • 使用外部浏览器你的选择。由于各种原因,您可能不想使用Burp的嵌入式浏览器。在这种情况下,您需要执行一些其他步骤配置浏览器与Burp合作,安装Burp的CA证书在您的浏览器中。

一旦您打bur,要么打开嵌入式浏览器或配置了自己的外部浏览器,转到代理>拦截标签,并确保打开截距(如果按钮说明拦截是关闭的然后单击它以切换拦截状态)。然后,转到您的浏览器并访问任何URL。

您的浏览器提出的每个HTTP请求都显示在截距标签。您可以查看每个消息,并在需要时进行编辑。完成更改后,单击向前按钮将请求发送到目标Web服务器。beplay体育能用吗如果在任何时候都有拦截的消息待处理,则需要转发所有这些内容,以使您的浏览器完成正在等待的页面。

您可以切换拦截开 /关如果需要,按钮以正常浏览而无需任何拦截。有关更多帮助,请参阅Burp代理人入门

渗透测试:拦截请求

当您浏览Burp运行的应用程序时,代理> HTTP历史记录即使关闭了拦截功能,TAB仍保留所有请求和响应的记录。在此选项卡中,您可以查看您提出的一系列请求。

在表中选择一个项目以查看完整的请求和响应消息编辑器控制板。

渗透测试:代理历史

您可以使用检查员快速访问各种功能,以帮助您分析消息中发现的潜在有趣的项目。例如,如果您深入检查器中的一个编码项目,它将应用适当的解码步骤顺序,以便您可以以更容易读的形式研究值。

对于可编辑的消息,例如在Burp Repeater中,您还可以更改检查员中的该解码价值。当您键入时,相关的编码将自动重新应用到该值。

渗透测试:检查员

当您浏览时,BURP还默认情况下构建了目标应用程序的站点地图。您可以在目标>站点地图标签。

该站点映射包含您在浏览器中访问的所有URL,以及Burp从对请求的响应中推断出的所有内容(例如,通过从HTML响应中解析链接)。已要求的项目以黑色显示,其他项目以灰色显示。您可以在树上展开分支,选择各个项目,然后查看完整的请求和响应(如果有的话)。

有关更多帮助,请参阅使用目标工具。您可以通过配置合适的实时扫描任务

渗透测试:网站图

Burp Suite设计为动手工具,用户控制执行的操作。Burp的渗透测试工作流程的核心是能够在Burp工具之间传递HTTP请求以执行特定的任务。

您可以从代理>拦截,,,,HTTP历史, 或者站点地图标签,甚至在Burp中的其他任何地方都可以看到HTTP消息。为此,选择一条或多个消息,然后使用上下文菜单将请求发送到另一个工具。

渗透测试:将请求发送到手动工具

您将用于特定任务的BURP工具如下:

  • 扫描器- 这用于自动扫描网站以获取内容和安全漏洞。beplay体育能用吗
  • 入侵者- 这使您可以执行自定义的自动攻击,可以执行各种测试任务。
  • 中继器- 这用于一遍又一遍地手动修改和重新发行单个HTTP请求。
  • 合作者客户端- 这用于生成BURP协作者有效载荷和监视带来的带外交互。
  • clickbandit- 这用于生成点击劫机利用脆弱的应用程序。
  • 音序器- 这用于分析应用程序会话令牌中随机性的质量。
  • 解码器- 这使您可以使用常见的编码和解码方案来转换应用程序数据的位。
  • 比较- 这用于对应用数据的位进行视觉比较,以找到有趣的差异。

您可以通过多种方式组合Burp的不同工具,以执行从非常简单到高级和专业化的测试任务。

测试工作流程

BURP可以有效地结合手册和自动化技术,使您可以完全控制Burp执行的所有操作,并提供有关您正在测试的应用程序的详细信息和分析。

一些用户可能不希望以这种方式使用burp,只想执行快速简便的漏洞扫描他们的申请。如果这是您需要的,请参考扫描网站beplay体育能用吗

下图是Burp穿透测试工作流程的关键部分的高级概述:

Burp Suite测试工作流程

侦察和分析

代理工具是Burp的工作流程的核心。它使您可以使用Burp嵌入式浏览器,或您自己的外部浏览器,以浏览应用程序,而Burp捕获了所有相关信息,并让您轻松启动进一步的操作。在典型的测试中,侦察和分析阶段涉及以下所述的任务。

手动映射应用程序

通过打bur的浏览器在浏览器时使用浏览器,手动映射应用程序通过遵循链接,提交表单并逐步通过多步骤过程。此过程将填充代理历史和目标站点地图所有请求的内容,并(通过现场扫描)将添加到网站映射中,可以从应用程序响应(通过链接,表单等)推断出的任何进一步的内容。那你应该审查任何未要求的物品(在网站图中以灰色显示),并使用浏览器请求这些。

必要时执行自动映射

您可以选择使用BURP以各种方式自动化映射过程。你可以:

  • 执行自动扫描抓取应用程序的内容。
  • 使用内容发现函数以找到无法从可以浏览或爬网的可见内容链接的其他内容。
  • 履行自定义发现使用Burp Intruder,循环浏览通用文件和目录的列表,并识别命中。

笔记

在执行任何自动操作之前,可能有必要更新Burp的各个方面配置, 如目标范围会话处理

分析应用程序的攻击表面

映射应用程序填充代理的过程历史和目标站点地图借助Burp捕获的有关申请的所有信息。这两个存储库都包含帮你分析它们包含的信息,并评估应用程序暴露的攻击表面。此外,您可以使用Burp目标分析仪报告攻击表面的程度以及应用程序使用的不同类型的URL。

工具配置

Burp包含丰富的财富配置选项,通常有必要在测试的不同阶段使用,以确保BURP以所需的方式与您的目标应用程序一起使用。例如:

  • 展示- 您可以配置字体字符集用于显示HTTP消息,还用于字体在Burp自己的UI中。
  • 目标范围- 这目标范围配置告诉Burp您当前感兴趣并愿意攻击的项目。您应该在测试的早期配置此内容,因为它可以控制代理中显示哪些项目历史和目标站点地图,哪些消息是拦截在代理中,哪些项目可能是扫描
  • 平台身份验证- 如果应用程序服务器采用任何平台级别(HTTP)身份验证,则配置Burb来处理验证自动地。
  • 会话处理- 许多应用程序都包含可以阻碍自动化或手动测试的功能,例如反应性会话终止,使用每电器令牌以及状态多阶段过程。你可以配置打bur使用的组合无缝处理大多数这些情况会话处理规则
  • 任务计划- 您可以将Burp配置为安排任务在给定的时间或间隔,允许您在指定的测试窗口中工作。

脆弱性检测和剥削

完成后侦察和分析目标应用程序和任何必要的配置Burp,您可以开始探索常见漏洞的应用程序。在此阶段,一次使用多种打bur工具通常是最有效的,在工具之间传递了执行不同任务的各个请求,并返回浏览器进行其他测试。在整个Burp中,您可以使用上下文菜单在工具之间传递项目并执行其他操作。

在Burp的默认配置中,它会自动执行现场被动扫描通过代理的所有请求和响应。因此,在您开始积极探索应用程序之前,您可能会发现bepaly下载 已经录制了一些问题该保证更仔细地调查。

BURP的工具可以以多种不同的方式用于支持积极测试漏洞的过程。下面描述了一些有关不同类型问题的示例。

基于输入的错误

对于这样的问题SQL注入,,,,跨站脚本, 和文件路径遍历,您可以以各种方式使用Burp:

  • 你可以表演扫描使用Burp扫描仪。您可以在打bur的任何地方选择项目,启动扫描使用上下文菜单。或者您可以配置Burp做现场扫描在所有通过代理的范围内请求中。
  • 您可以使用Burp入侵者表演模糊,使用您自己的测试字符串和有效载荷位置。
  • 您可以将单独的请求发送到Burp Repeater,一遍又一遍地修改和重新发行请求。
  • 确定了某些类型的错误,您可以使用打击者。例如,您通常可以使用递归格雷普有效载荷类型以利用SQL注入漏洞。

逻辑和设计缺陷

对于不安全使用客户端控件的问题,未能执行帐户锁定以及跳过多阶段流程中的关键步骤的问题,您通常需要手动工作:

  • 通常,对代理历史将确定需要调查的相关请求。
  • 然后,您可以通过使用Burp Repeater,或通过打开代理拦截并在使用浏览器时可以手动更改请求。
  • 您可以使用打击者。例如,入侵者可用于列举有效的用户名,猜测密码,通过可预测的会话令牌或密码恢复令牌循环,甚至只是简单地重新发行相同的请求(使用无效负载类型)。
  • 确认逻辑或设计缺陷后,可以通过使用Burp代理可以积极利用其中的许多缺陷匹配/替换功能, 或者会话处理规则,以系统的方式更改请求。

访问控制问题

BURP包含几个功能,可以在测试访问控制漏洞时有助于:

  • 您可以使用比较站点地图各种任务的功能,包括:识别一个用户可见的功能;测试低特权用户是否可以访问应限于更高特权用户的功能;并发现在哪里使用特定于用户的标识符将同一类型的两个用户隔离数据。
  • 您可以使用不同的浏览器在不同的用户上下文中访问该应用程序,并使用单独的Burp代理听众对于每个浏览器(使用不同的端口)。然后您可以打开其他代理历史Windows(通过上下文菜单)并设置显示过滤器在每个窗口上仅显示在特定侦听器端口上收到的项目。当您在每个浏览器中使用该应用程序时,每个历史记录窗口将仅显示关联用户上下文的项目。然后您可以使用当前浏览器会话中的浏览器请求函数(通过上下文菜单)可以在浏览器之间切换请求,以确定在浏览器的用户上下文中如何处理它们。
  • 当应用程序在请求参数中传递用户标识符时,就会出现许多特权升级漏洞,并使用它来识别当前的用户上下文。您可以使用打击者以适当格式的标识符循环(例如数字或者自定义迭代器有效负载类型)和配置提取grep从应用程序的响应中检索有趣的用户特定数据的项目。

其他漏洞

BURP包含可用于传递并经常自动化的功能,实际上,在探测其他类型的漏洞时会出现的任何任务。例如:

  • 您可以查看目标的内容站点地图对于信息泄漏问题,使用搜索查找评论功能来帮助您。
  • 已经确定了可能的CSRF漏洞,您可以使用CSRF生成器要快速在HTML中创建概念验证攻击,然后使用在浏览器中进行测试功能将攻击加载到浏览器中,然后查看浏览器结果和代理历史验证攻击是否成功。
  • 您可以使用Burp Sequencer分析从应用程序中的会话令牌样本,并估计其随机性的质量。
  • 对于某些类型的加密会话令牌或其他参数,您可以使用有点脚欧洲央行块洗牌者有效载荷类型在Burp入侵者中盲目修改加密数据,以试图有意义地更改应用程序处理的解密数据。
  • 您可以编写自己的自定义打bur的扩展执行更多专业或定制的任务。

阅读更多

Burp的所有工具和功能都有广泛的文档,以及与BURP进行测试时需要使用的典型工作流程。

使用下面的链接来帮助使用每个主要BURP工具:

您也可以查看我们的一些其他支持中心文章有关使用Burp Suite的文章