Burp Suite for Pentester:软件漏洞扫描程序和 Retire.js
Burp Suite for Pentester:软件漏洞扫描程序和 Retire.js
三沐 三沐数安 2024-12-12 15:54
不仅我们看到的前端或看不到的后端,都会导致应用程序易受攻击。动态 Web 应用程序本身包含很多内容,无论是 JavaScript 库、第三方功能、功能插件还是其他内容。但是,如果安装的功能或插件本身易受攻击怎么办?
因此,今天在本文中我们不会关注任何特定的漏洞,而是会介绍一些不错的 burp 扩展,以帮助我们识别软件的易受攻击的版本或应用程序中安装的库。
探索 Burp 插件
在我们之前的所有文章中,无论我们使用了什么扫描仪或插件,它们都几乎输出相同的结果,即它们基本上主要根据 OWASP top 10 来 识别和指导我们现有的漏洞。但是,对于嵌入在应用程序框架中的软件或附加库版本,我们如何识别它们是否存在漏洞。
因此,为了最大程度地挖掘 Web 应用程序,burp suite 提供了一些出色的插件,可以扫描嵌入式软件和附加库,然后进一步删除那些版本过时或容易受到某些特定漏洞攻击的插件。
因此,让我们探索两个最流行的扩展,一个从其漏洞数据库检查版本,另一个仅检查过时的 JavaScript 库。
软件漏洞扫描程序
您是否曾浏览过vulners.com来查找不同安全研究人员发现的漏洞?
还没有,通过这个扩展,您将更好地了解vulners.com 漏洞的数据库或其扫描API 密钥以及 Web 应用程序所包含的其他功能。
那么,让我们开始探索这个 burp 扩展是什么?
软件漏洞扫描程序是最流行的 burp 扩展之一,它使用 vulners.com API 扫描应用程序以确定软件版本中的漏洞。
但是这个插件如何检测易受攻击的软件版本?
为了实现这一点,此插件遵循以下两个步骤之一:
1. 它通过指纹或 CPE(通用平台枚举)来识别易受攻击的软件。
1. 它使用数据库检查易受攻击的路径,并确定是否可以对该路径利用任何漏洞。
相当复杂的场景,对吧!继续阅读本文,你会发现它们是最简单的。
配置扩展
让我们通过导航到扩展器选项卡上的BApp Store来安装插件,然后我们将尝试找到软件漏洞扫描程序。
一旦我们发现它,我们就会转到正确的部分并点击
安装按钮
,使其成为 Burp 扫描仪的一部分。
几分钟之内,我们就会将其选项卡放置在顶部面板中,作为
“软件漏洞扫描程序”,
让我们先探索一下。
导航到插件窗口,在
“扫描规则”选项卡
上,我们有两个独立的部分,一个用于
API
,另一个用于
扫描规则。
但是,扫描部分的规则手册已默认加载,因此我们只需设置 API 密钥即可。
虽然此插件无需 API 密钥值即可运行,但它会尝试将易受攻击的路径与数据库进行匹配。但如果您想嵌入自己的密钥,可以点击
获取令牌…
部分并免费
注册 API 密钥。
一旦我们点击按钮,我们就会被重定向到 vulners.com 用户信息页面。登录并填写输入字段以生成 API 密钥。
但是,在本节中,我们将不使用 API 密钥。但我们将通过
将其自定义
到
选项选项
卡
中来增强其扫描功能。
让我们取消选中“仅限范围”
复选框,然后单击
“使用按位置路径扫描”
选项。虽然标记此功能可能会给我们带来一些
误报,
因为它会从易受攻击的应用程序中获取关键字,然后将它们与 vulners.com 数据库中的关键字进行匹配。
对已安装的软件进行指纹识别
配置完成后,我们将启用浏览器的代理并浏览testphp.vulnweb.com。网页启动后,我们将四处漫游以产生一些流量。
闲逛够了!让我们回到 burp suite 监视器,然后切换到那里的
仪表板选项
卡。从下图中,我们可以看到 burp 扫描器处于
实时审核状态
,也就是说,无论我们做什么或浏览什么,它都会被捕获并与 burp 扫描器共享。
但是问题活动
又如何呢?让我们探索一下并检查它能为我们带来什么。
扩展窗口打开后,我们将根据
问题类型
对其内容进行排序。从下图中我们可以看到扫描仪发现了一些内容,表明
“[漏洞] 可能存在漏洞的路径”。
看来我们的配置运行正常。
让我们更深入地探讨这个问题,从
问题细节
开始,它转储了许多
使用相同路径
并进入漏洞数据库的漏洞。
让我们点击与之对齐的“漏洞”按钮来检查
PacketStrom
。一旦我们这样做,我们就会重定向到vulners.com网站,上面有漏洞数据。
当我们尝试搜索artisits.php时,我们得到的路径值与testphp.vulnweb.com上的路径值类似。
但是,您可以对列出的其他漏洞进行深入分析,以便更好地了解该软件版本的脆弱性。
完成后,我们将进一步返回到burpsuite 上的“软件漏洞扫描程序”选项卡,并切换到那里的“结果”部分,其中包含与其名称和主机一致的易受攻击的软件版本以及可能的易受攻击的软件使用特定路径。
Retire.js
动态 Web 应用程序本身包含许多库,无论是 React、Angular 还是 JQuery,但它们的分析部分又如何呢?我们如何识别我们正在测试的应用程序是否具有过时版本的 JavaScript 包。
因此对于分析部分,我们有一个更出色的 burp 插件,即Retire.js,它的名称本身就表明它的工作是“Retire JavaScript”,即它可以识别应用程序正在使用的 JavaScript 库的已退役或过时版本(易受攻击)。
在深入理论部分之前,让我们直接跳到它的安装。
设置插件
回到 bApp 商店,我们搜索关键字“R”,其中受欢迎程度最高的就是我们的插件。
然而,由于其受欢迎程度和评论,Burp Suite 仅向专业版
用户提供。所以让我们点击右侧的
“安装”按钮并开始安装。
安装完成后,让我们在顶部面板检查一下。但是等一下!!它在哪里?
与 Active scan++ 类似,插件一旦下载,就会嵌入 Burp Scanner,但我们可以通过切换到Extender 选项卡上的Extensions 部分来检查它的存在。
抛弃过时的 JavaScript 库
配置插件后,我们只需启动扫描仪,几分钟内即可获得输出。但为了获得更清晰的结果,让我们禁用其他扫描仪插件,我们只会标记Retire.js
是时候浏览一个易受攻击的应用程序了。因此,暂时让我们将其设为
OWASP Juice Shop ,然后使用
“ OR ‘1’=’1′ ”绕过应用程序的登录;
正如我们在 testphp.vulnweb.com 上所做的那样,我们在这里也做同样的事情。是的,打开浏览器代理浏览
网站
以产生流量。
访问几个页面后,让我们回到 burp suite 仪表板并检查那里的“任务”选项卡。
从下图中,您可以看到我们在实时代理审核中收到了大约32 个请求。
让我们在“问题活动”选项卡中查看它们
。根据
问题类型
对内容进行排序,我们将 jquery 漏洞排在那里。
转到
咨询
部分,我们可以看到 Retire.js 已经
转储了一个易受攻击的 jquery 库
,该库用于应用程序的配置文件网页。但是,我们可以在
上搜索此 jquery 库的利用情况,然后我们就可以开始了。
最后,让我们检查一下
“响应”选项卡
,以分析插件如何检测易受攻击的 jquery 版本。因此,从下图中,您可以看到,只要我们点击
右箭头按钮
,就会在那里突出显示易受攻击的版本,
因为开发人员没有注意到 jquery 版本正在随 HTML 代码传递。