识别具有插件生态系统的目标
启动插件市场通常是增强可访问性、增加可扩展性和引入新用例无限可能性的下一个逻辑步骤。我们需要识别那些已经向最终用户提供插件市场的公司。
这个过程很简单。我们只需要浏览目标并寻找可以启用或安装插件的地方。有时,这会在登陆页面上作为平台的主要功能之一进行推广。
插件市场示例
以下是一些集成了插件或附加组件市场的平台和软件产品:
- GitHub Marketplace 提供直接与GitHub平台集成的插件和工具,供开发人员自动化工作流程、CI/CD、代码审查等
- Atlassian Marketplace 使用户能够扩展Jira、Confluence和Bitbucket等产品,提供项目管理、协作和开发工作流程的附加组件和插件
- Salesforce AppExchange 是Salesforce业务应用程序、集成和附加组件的市场,Salesforce是一个基于云的客户关系管理(CRM)平台
- Obsidian 是一个强大的知识库和笔记应用程序,还为其用户提供安装和使用第三方插件的市场
- Discord 是一个免费的 messaging 服务,还支持广泛的机器人生态系统以扩展 messaging 应用程序中的标准功能
插件生态系统中的常见漏洞
如前面的示例所示,插件生态系统可以为最终用户打开一个全新的用例世界。对于我们安全研究人员来说,这是我们可以探索的另一个攻击面。
开发人员在引入插件市场时最常见的问题是在为开发人员提供强大的可扩展性功能以开发新插件与维护整体安全性以保护最终用户之间定义明确的界限。
让我们看看当目标有插件市场时要测试的7个最常见安全风险。我们建议您将本文用作指南,而不是严格的检查表。每个平台都不同,因此您需要根据特定目标的功能调整这些测试。
1. 沙箱隔离不足
沙箱是一种安全措施,用于帮助隔离插件访问父级(或主机)环境。它有助于防止基于Web的插件访问受保护的API端点以执行不需要的操作(例如执行未经授权的网络请求)、访问其他插件的数据,甚至更改主机服务器(在支持服务器端代码执行的情况下)等。
如果插件(意外地)引入了新的漏洞,它还有助于隔离主机Web应用程序免受影响。当这个沙箱实施不当或缺失时,可能允许攻击者绕过它并获得对服务器的未经授权访问、读取敏感数据或到达应用程序的其他经过身份验证的部分。
作为研究人员,您需要开发一个插件,目的是根据您的目标扩展您当前的应用程序内权限。例如,您可以检查是否可以访问其他插件的数据、删除现有或安装新插件、获取会话cookie,或者甚至可能到达允许您执行不需要操作的受保护API端点。
2. 不当的访问控制
除了沙箱之外,开发人员还必须实施适当的访问控制来定义插件在其执行环境中可以做什么。在某些情况下,您会注意到几个附加组件具有或请求比必要更多的权限,或者平台未能严格执行最小权限原则。
假设平台允许您作为插件开发人员请求访问权限以代表用户执行某些操作,例如发布公共帖子。尝试作为用户拒绝此权限,同时仍尝试在启用插件的情况下发布帖子。
测试过度许可的插件
除了测试垂直权限升级漏洞外,还尝试包括测试水平访问控制问题,例如尝试修改另一个插件的设置。
3. 过度许可的API
具有插件生态系统的平台通常还会向插件开发人员公开额外的API。通常,此API不会获得与主API相同的安全关注。这为我们打开了另一个攻击面,以测试缺乏速率限制、身份验证和授权漏洞。
如果插件使用与主应用程序相同的API,请尝试创建一个尝试受限操作的插件。例如,构建一个尝试重置用户密码或更改其电子邮件地址的插件。通常,这些操作需要额外的验证,如2-FA。但有时平台将来自插件的API请求视为"受信任"并跳过这些安全检查。这意味着您的插件可能能够执行通过正常界面会触发安全检查的操作。通过让您的插件对2-FA安全检查后面的API端点进行API调用来测试这一点,看看平台是否适当地强制执行与常规用户请求相同的安全限制。
4. 供应链攻击
基于云的插件生态系统在插件安装或未来更新期间也可能容易受到供应链攻击。因此建议包括测试此漏洞类型。例如,考虑插件如何安装和(自动)更新。以及在新插件发布给公众之前是否有任何严格的背景审查或代码审查过程。
附加组件/插件生态系统中的供应链攻击
当没有安全过程存在时,可能会给我们留下一个开放点来发布带有恶意代码的插件。破坏其他流行插件(例如通过身份验证或任何其他授权漏洞)可能会使相当大比例的用户面临风险。
即使平台是基于云的,也要检查新更新的拉取和安装方式。并寻找可能允许您篡改已验证插件的弱点。在测试此类漏洞时,建议始终遵守程序规则,尽可能使用测试帐户,以便限制任何潜在影响。
结论
附加组件/插件生态系统可以帮助为平台引入许多新用例。然而,当安全不被优先考虑且未遵循最佳实践时,它可能打开一个新的、重要的攻击面,我们可以利用。
所以,您刚刚学会了如何测试插件生态系统中的漏洞…现在是时候将您的技能付诸实践了!您可以从在易受攻击的实验室和CTF上练习开始,或者…浏览我们在Intigriti上的70多个公共漏洞赏金计划,谁知道呢,也许在您的下一次提交中赚取赏金!
立即开始在INTIGRITI上进行黑客攻击