程序员征服安全 OWASP Top 10 API 系列 - 禁用安全功能/启用调试功能/权限设置不当

虽然此列表中的大多数漏洞都非常针对 API,但禁用安全功能/启用调试功能/权限设置不当的问题可能会在任何地方出现。这种情况在 API 中可能更为普遍,但攻击者通常会试图在网络中的任何位置寻找未修补的漏洞以及未受保护的文件或目录。如果遇到启用了调试功能或禁用了安全功能的 API,他们的恶意行为就会变得更加容易。更糟糕的是,现在有自动化工具可以检测并利用这些安全配置错误,因此如果您的环境中存在这些问题,它们极有可能被利用,这也是该漏洞被列入 OWASP API 危险漏洞列表的原因。
在进入正题之前,先看看您能否解决这个调试挑战:
禁用安全功能/启用调试功能/权限设置不当的漏洞是如何潜入 API 的?
要了解这种多维度的 API 漏洞是如何被引入网络的,我们必须将其拆解为各个组成部分。让我们从启用调试功能的问题开始。调试是一个有用的工具,可以帮助开发人员找出应用程序运行不正常或报错的原因。在调试功能开启的情况下,错误和异常会生成详细的错误页面,以便开发人员查看问题所在并进行修复。在应用程序开发阶段保持此功能开启是完全没问题的。
然而,大多数框架在生产环境中运行调试模式时都会发出警告,这通常直接写在激活调试功能的代码中,这是有原因的。例如:
# 安全警告:请勿在生产环境中开启调试模式!
DEBUG = True
在此示例中,调试功能已被激活。当引发异常时,Django 应用程序将生成详细的错误页面。如果是在生产环境中执行此操作,攻击者将能够访问这些错误页面,其中包含有关环境的元数据信息。尽管大多数框架默认关闭调试功能,但在漫长的开发过程中如果激活了它,很容易忘记将其重新关闭。当应用程序迁移到生产环境时,它会为攻击者提供大量关于如何攻破应用程序,甚至攻破整个服务器或网络的信息。
虽然启用调试模式主要是一个独立的问题,但权限设置不当和禁用安全功能漏洞通常是协同作用的。例如,在 OWASP 提供的一个真实场景中,攻击者使用搜索引擎找到了一个意外连接到互联网的数据库。由于该流行的数据库管理系统使用的是默认配置,因此身份验证被禁用了。通过结合权限设置不当和禁用安全功能这两个漏洞,攻击者获取了数百万条包含个人身份信息 (PII)、个人偏好和身份验证数据的记录。
消除禁用安全功能/启用调试功能/权限设置不当的漏洞
您可能需要采取双管齐下的方法来消除此漏洞。要解决启用调试功能的问题,只需在开发流程中增加一个检查环节,确保在将 API 或应用程序迁移到生产环境之前已禁用调试功能。根据我们的示例,执行此操作的正确命令如下:
# 安全警告:请勿在生产环境中开启调试模式!
DEBUG = False
现在,Django 应用程序中的调试功能已通过将 DEBUG 标志配置为 False 而被禁用。系统将不会再针对错误生成详细的错误页面。即使攻击者能够访问错误页面,其中也不会包含任何有用的元数据,因此不会对应用程序构成风险。
消除禁用安全功能和权限设置不当的漏洞要困难一些,因为它们可能涵盖广泛的具体漏洞。阻止它们的最佳方法是制定一套标准且可重复的流程,以便快速、轻松地将加固后的资产部署到生产环境。
即便如此,您也应该建立一个流程,对编排文件、API 组件以及 Amazon S3 存储桶权限等云服务进行持续的审查和更新。此审查还应评估整个环境中安全设置随时间推移的整体有效性,以确保组织不断提升其 API 安全性。
请查看 Secure Code Warrior 博客页面,深入了解此漏洞,以及如何保护您的组织和客户免受其他安全漏洞的侵害。您还可以 申请演示 Secure Code Warrior 培训平台,以保持您的网络安全技能精进且与时俱进。
在 AI 驱动的开发成果发布前实现有效治理
评估 AI 辅助风险,在提交代码时强制执行安全编码策略,并加速整个软件开发生命周期的安全交付。
探索更多博客
获取有关安全编码、人工智能治理和软件风险管理的专家内容。
%252520%252520(3).avif)
Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Security as culture: How Blue Prism cultivates world-class secure developers
Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed
在产品发布前确保 AI 驱动的开发安全
洞察开发风险,执行安全策略,并在整个软件开发生命周期中预防漏洞。



.avif)