前言

在 Web 渗透测试中,Burp Suite 不仅是一款功能强大的抓包工具,还内置了全面的漏洞扫描模块 —— Burp Scanner。它通过内置的爬虫(Crawler)自动构建网站结构,并结合被动与主动扫描器(Scanner)对目标进行漏洞检测,是执行高效 Web 安全测试的重要利器。


目标范围(Scope)

Burp 的所有扫描操作都基于「范围控制」,即 Target → Scope 设置。只有被包含在范围内的目标,才会被爬虫或扫描器处理。


我们有两种方法将某个地址加入Scope

法一:在HTTP History中选中请求右键点击,选择 Add to scope

法二:所有经过 Burp Proxy 的 HTTP/HTTPS 请求,其对应的目标(域名+路径)都会自动出现在 Target → Site Map 里,这是 Burp 的核心功能之一。我们可以在Target → Site Map选中请求右键,然后选择Add to scope

如果扫描某些项目可能存在危险,或者可能会像注销功能一样结束会话,我们可能还需要将其从范围中排除。要从范围中排除某个项目,我们可以右键单击任何范围内的项目,然后选择Remove from scope

最后,我们可以转到 ( Target>Scope setting) 查看Scope的详细信息。在这里,我们还可以添加/删除其他项目,并使用高级范围控制来指定要包含/排除的正则表达式模式。

爬虫(Crawl)

一旦我们准备好Scope,我们就可以转到Dashboard选项卡并单击New Scan来配置我们的扫描,它将自动填充我们的Scope内的项目:

我们看到 Burp 提供了两个扫描选项:Crawl and AuditCrawl

  • Crawl(网络爬虫)会通过访问网站页面中的任何链接、表单以及检查网站发出的任何请求来导航网站,从而构建网站的综合地图。最终,Burp 扫描器会向我们呈现目标地图,将所有可公开访问的数据集中显示,这将是本节的重点。
  • 如果我们选择Crawl and Audit,Burp 会在爬虫程序运行后运行扫描器,即实现爬虫、被动扫描、主动扫描的全过程,我们后面再介绍。

注意:爬取扫描仅跟踪并映射我们指定的页面及其上找到的任何页面中的链接。它不会像 dirbuster 或 ffuf 那样执行模糊测试扫描来识别从未被引用的页面。您可以使用 Burp Intruder 或 Content Discovery 来完成此操作,然后根据需要将其添加到范围中。


让我们选择Crawl,然后转到Scan configuration选项卡来配置我们的扫描。在这里,我们可以选择单击New“构建自定义配置”,这将允许我们设置诸如抓取速度或限制之类的配置

为了简单起见,我们将单击按钮Select from library,这将为我们提供一些可供选择的预设配置(或我们之前定义的自定义配置):

继续到Application login选项卡。在此选项卡中,我们可以添加一组凭据,供 Burp 尝试在其找到的任何登录表单/字段中进行登录。我们还可以通过在预配置的浏览器中执行手动登录来记录一组步骤,以便 Burp 知道要执行哪些步骤才能获得登录会话。

如果我们使用经过身份验证的用户运行扫描,这一点至关重要,这将使我们能够覆盖 Burp 可能无法访问的 Web 应用程序部分。由于我们没有任何凭据,因此我们将它留空。

这样,我们就可以点击Ok按钮开始抓取扫描了。扫描开始后,我们可以在Dashboard以下选项卡中看到扫描进度Tasks

最后,扫描完成后,我们将在任务信息中看到Crawl Finished,然后返回 ( Target>Site map) 查看更新后的站点地图:

被动扫描器(Passive Scanner)

现在站点地图已完全构建,我们可以选择扫描此目标以查找潜在漏洞。

与主动扫描不同,被动扫描不会发送任何新请求,而是分析目标/范围内已访问页面的来源,然后尝试识别potential漏洞。这对于快速分析特定目标非常有用,例如缺少 HTML 标签或潜在的基于 DOM 的 XSS 漏洞。然而,由于不发送任何请求来测试和验证这些漏洞,被动扫描只能提供潜在漏洞的列表。不过,Burp 被动扫描器会Confidence为每个已识别的漏洞提供相应的级别,这也有助于确定潜在漏洞的优先级。

让我们先尝试仅执行被动扫描。为此,我们可以再次在 Target>Site map 中选择目标,或在 Burp 代理历史记录(HTTP history)中选择请求,然后右键单击它并选择Passively scan this target

被动扫描将开始运行,其任务也可以在选项卡中看到Dashboard。扫描完成后,我们可以点击View Details查看已识别的漏洞。

或者,我们可以在Dashboard选项卡的窗格Issue activity中查看所有已识别的问题。如我们所见,它显示了潜在漏洞的列表、其严重程度及其置信度。通常,我们希望查找具有High严重程度和Certain置信度的漏洞。但是,对于非常敏感的 Web 应用程序,我们应该包含所有级别的严重程度和置信度,并特别关注High严重程度和Confident/Firm置信度。

主动扫描仪(Active Scanner)

主动漏洞扫描器是 Burp Scanner 最强大的部分。主动扫描比被动扫描更全面:

  1. 它首先运行爬网程序和 Web 模糊测试器(如 dirbuster/ffuf)来识别所有可能的页面
  2. 它对所有已识别的页面运行被动扫描
  3. 它检查被动扫描中识别出的每个漏洞,并发送请求来验证它们
  4. 它执行 JavaScript 分析来识别进一步的潜在漏洞
  5. 它模糊各种已识别的插入点和参数,以寻找常见漏洞,如 XSS、命令注入、SQL 注入和其他常见的 Web 漏洞

启动主动扫描器有两种方式

  • 法一:我们可以像启动被动扫描一样,在 Target>Site map 或在 Burp 代理历史记录(HTTP history)中选择请求,然后右键单击它并选择Do active scan
  • 法二:我们可以使用Dashboard选项卡中的New Scan按钮对Scope运行扫描,这将允许我们配置主动扫描。这次,我们将选择Crawl and Audit选项,它将执行上述所有操作以及我们迄今为止讨论的所有内容。

我们还可以设置抓取配置(如前所述)和审计配置。审计配置使我们能够选择要扫描的漏洞类型(默认为全部),扫描器将尝试在其中插入其有效载荷,此外还有许多其他有用的配置。

同样,我们可以使用Select from library按钮选择配置预设。对于我们的测试,由于我们关注的High是可能允许我们控制后端服务器的漏洞,因此我们将选择此Audit checks - critical issues only选项。

最后,我们可以添加登录详细信息,就像我们之前在抓取配置中看到的那样。

扫描完成后,我们可以在选项卡Issue activity中的窗格中查看Dashboard并过滤迄今为止已识别的所有问题。从结果上方的过滤器中,选择HighCertain查看过滤后的结果:

Burp 成功识别出一个 操作系统命令注入(OS Command Injection) 漏洞,并将其标记为 High 级别的严重性与 Firm 的置信度,表明该漏洞极有可能真实存在且具有较大危害。我们可以点击该条目,查看详细的说明,包括 Burp 发送的具体请求、服务器的响应内容,以及该漏洞的利用方式和影响范围。此外,“Path to issue” 功能还展示了从起始页面逐步访问至该漏洞页面的路径,帮助我们理解漏洞的触发流程与上下文位置。

报告导出

最后,所有扫描完成后,我们可以前往 ( Target>Site map),右键单击目标,然后选择 ( Issue>Report issues for this host)。系统将提示我们选择报告的导出类型以及要包含在报告中的信息。导出报告后,我们可以在任何 Web 浏览器中打开它来查看其详细信息。

Burp 的报告按照漏洞的严重性和可信度进行分类,还包含每个漏洞的详细描述、利用方式(PoC)以及修复建议,非常适合作为渗透测试过程中对外输出的参考材料。

参考资料与靶场

Burp Scanner

ZAP Scanner

宇宙安全声明

本博客所提供的内容仅供学习与交流,旨在提高网络安全技术水平,谨遵守国家相关法律法规,请勿用于违法用途,博主不对任何人因使用博客中提到的技术或工具而产生的任何后果负责。如果您对文章内容有疑问,可以留言私信。

Burp Scanner 使用指南:爬虫与漏洞检测全流程解析的更多相关文章

  1. 【Heritrix基础教程之4】开始一个爬虫抓取的全流程代码分析

    在创建一个job后,就要开始job的运行,运行的全流程如下: 1.在界面上启动job 2.index.jsp 查看上述页面对应的源代码 <a href='"+request.getCo ...

  2. 快速、直接的XSS漏洞检测爬虫 – XSScrapy

    XSScrapy是一个快速.直接的XSS漏洞检测爬虫,你只需要一个URL,它便可以帮助你发现XSS跨站脚本漏洞. XSScrapy的XSS漏洞攻击测试向量将会覆盖 Http头中的Referer字段 U ...

  3. Metasploit是一款开源的安全漏洞检测工具,

    Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,适合于需要核实漏洞的安全专家,同时也适合于强大进攻能力的 ...

  4. Burp Scanner Report

    1.使用application web 漏洞平台,除此之外还有一款类似的工具 叫做mulidata,其实mulidata功能更好一点. 2.配置之前的问题处理 安装之前要确认 自己之前是否安装过 Ap ...

  5. [漏洞检测]Proxpy Web Scan设计与实现(未完待续)

    Proxpy Web Scan设计与实现 1.简介:          Proxpy Web Scan是基于开源的python漏洞扫描框架wapiti改造的web漏洞扫描器,其主要解决以下几个问题而生 ...

  6. Retina CS强大漏洞检测工具

    RetinaCS强大漏洞检测工具 Eeye数字安全公司成立于上世纪九十年代末期,它是世界领先的安全公司,它采用最新研究成果和创新技术来保证您的网络兄系统安全,并向您提供最强大的如下服务:全面的.漏洞评 ...

  7. xxe漏洞检测及代码执行过程

    这两天看了xxe漏洞,写一下自己的理解,xxe漏洞主要针对webservice危险的引用的外部实体并且未对外部实体进行敏感字符的过滤,从而可以造成命令执行,目録遍历等.首先存在漏洞的web服务一定是存 ...

  8. 基于Python3的漏洞检测工具 ( Python3 插件式框架 )

    目录 Python3 漏洞检测工具 -- lance screenshot requirements 关键代码 usage documents Any advice or sugggestions P ...

  9. Jenkins高危代码执行漏洞检测/开源漏洞靶场

    漏洞细节可以参看安全客的文章:https://bbs.ichunqiu.com/thread-22507-1-1.html Jenkins-CLI 反序列化代码执行(CVE-2017-1000353) ...

  10. Cisco IOS和IOS XE 新漏洞检测与修复

    Cisco IOS/IOS XE 新漏洞检测与修复 CVE-2018-0150 Cisco IOS XE 存在默认弱口令 漏洞影响: 默认弱口令可以导致攻击者直远程登录控制Cisco设备.受影响版本, ...

随机推荐

  1. 🎀springboot banner介绍及使用

    简介 Banner是指应用程序启动时显示的信息.对于Spring Boot应用来说,默认情况下,当你启动一个 Spring Boot应用时,控制台上会打印出一段由 Spring Boot自带的ASCI ...

  2. DPDI online

    DPDI online @三倍镜 用户名:dpdi 密码 dpdi

  3. PHP采集图片实例(PHP采集)

    以下为引用的内容: <?php/** *  采集图片php程序**  Copyright(c) 2008 by 小超(ccxxcc) All rights reserved**  To cont ...

  4. OSCP靶场练习从零到一之TR0LL: 1

    本系列为 OSCP 证书学习训练靶场的记录,主要涉及到 vulnhub.HTB 上面的 OSCP 靶场,后续慢慢更新 1.靶场介绍 名称: TR0LL: 1 下载地址: https://www.vul ...

  5. 【经验】VScode 远程 SSH 连接 Ubuntu 或 TrueNas 出错,Could not establish connection

    用VScode常常会碰到以下情况,Could not establish connection. 先介绍一下VScode远程连接和终端SSH连接的区别:终端直接用SSH连接时,只需要开启SSH服务,并 ...

  6. Map延伸工具类之“根据value值得到map的key值”“根据value值得到map的keys值”

    Map延伸工具类 /** * 集合类型转换 * */ public class CollectionUtil { /** * 根据value值得到map的key值 * @author wzw * * ...

  7. Winform C#多显示器窗口控制详解

    写Winform程序的时候,有将一个窗口放置到特定的显示器,并且全屏的需求.于是借此机会,好好研究了一番这个Screen类[1],总结了一些方法. Windows的窗口逻辑 首先我们需要知道窗口定位的 ...

  8. SQL 日常练习 (十六)

    最近接触了一波 RPA, 可以用来做一些数据采集的事情, 或者任意控制电脑上的软件, 感觉上是挺厉害的, 但我就是不想用, 尽管我尝试了一波, 最后还是放弃 了, 我还是喜欢纯代码的工作方式, 最为讨 ...

  9. Seata源码—4.全局事务拦截与开启事务处理

    大纲 1.Seata Server的启动入口的源码 2.Seata Server的网络服务器启动的源码 3.全局事务拦截器的核心变量 4.全局事务拦截器的初始化源码 5.全局事务拦截器的AOP切面拦截 ...

  10. algolia使用配置教程-为SSG静态站增加algolia搜索功能

    要构建SSG静态站点时,一般为了方便增加algolia搜索框,但这里algolia配置使用时用很多的坑,折腾了我好几天,网上没有一个可用的教程. 自己弄了几天,终于搞明白里面的道道了,现在分享出来给大 ...