
程序员征服安全 OWASP 十大 API 系列-缺乏资源和速率限制
由于缺乏资源和速率限制,API 漏洞的行为几乎完全符合标题的描述。每个 API 的可用资源和计算能力都有限,具体取决于其环境。大多数人还必须回答用户或其他程序的请求,要求其执行所需的功能。当同时传入的请求过多,且 API 没有足够的计算资源来处理这些请求时,就会出现此漏洞。然后,该 API 可能变得不可用或无法响应新请求。
如果 API 的速率或资源限制设置不正确,或者代码中未定义限制,则容易受到此问题的影响。例如,如果企业遇到特别繁忙的时期,则API可能会过载。但这也是一个安全漏洞,因为威胁行为者可以故意使用请求使未受保护的 API 过载,以执行拒绝服务 (DDoS) 攻击。
顺便问一下,到目前为止,你在 API 游戏化挑战中表现如何?如果你想立即尝试处理速率限制漏洞的技能,那就进入竞技场:
现在,让我们更深入地了解一下。
缺乏资源和速率限制 API 漏洞的一些例子有哪些?
此漏洞可以通过两种方式潜入 API。首先是编码人员根本没有定义API的油门速率应该是多少。基础设施中的某个地方可能有默认的油门费率设置,但依赖它并不是一个好政策。相反,每个 API 都应单独设置其费率。尤其如此,因为 API 可能具有截然不同的功能和可用资源。
例如,设计为仅为少数用户服务的内部 API 的油门速率可能非常低并且运行良好。但是,作为实时电子商务网站一部分的面向公众的API很可能需要定义极高的速率来弥补同时用户激增的可能性。在这两种情况下,节流速率都应根据预期需求、潜在用户数量和可用计算能力来定义。
为了最大限度地提高性能,将速率设置为无限可能会很诱人,尤其是在很可能非常繁忙的 API 中。这可以通过一段简单的代码来完成(例如,我们将使用 Python Django REST框架):
“默认节流速率:{
“不知道:没有,
“用户:无
在该示例中,匿名用户和系统已知用户都可以无限次地联系 API,而不考虑一段时间内的请求数量。这是个坏主意,因为无论API有多少可用的计算资源,攻击者都可以部署僵尸网络之类的东西,从而最终减慢其爬行速度,或者可能将其完全下线。发生这种情况时,有效用户将被拒绝访问,攻击将成功。
消除资源短缺和速率限制问题
组织部署的每个 API 都应在其代码中定义其限制率。这可能包括执行超时、最大允许内存、可以返回给用户的每页记录数或在定义的时间范围内允许的进程数量等内容。
从上面的示例中可以看出,与其完全开放限制速率,不如对匿名用户和已知用户使用不同的费率来严格定义节流速率。
“默认节流速率:{
“匿名:配置(“THROTTLE_ANON,默认值 = 200/小时),
“用户:配置(“THROTTLE_USER,默认值 = 5000/小时)
在新示例中,API 将限制匿名用户每小时发出 200 个请求。已通过系统审核的已知用户将获得更大的回旋余地,每小时 5,000 个请求。但是,即使它们也仅限于防止高峰时段意外过载,或者在用户帐户遭到入侵并被用于拒绝服务攻击时进行补偿。
作为最后要考虑的良好做法,最好在用户达到限制时向他们显示通知,并解释何时重置这些限制。这样,有效的用户就会知道应用程序拒绝他们的请求的原因。如果执行经批准的任务的有效用户被拒绝访问 API,这也会很有用,因为它可以向操作人员发出信号,表明需要加强限制。
来看看 安全代码勇士 博客页面,详细了解此漏洞以及如何保护您的组织和客户免受其他安全漏洞的破坏。你也可以 试试演示 Secure Code Warrior 培训平台可让您的所有网络安全技能不断磨练并保持最新状态。
Matias Madou, Ph.D. es experto en seguridad, investigador y CTO y cofundador de Secure Code Warrior. Matias obtuvo su doctorado en Seguridad de Aplicaciones en la Universidad de Gante, centrándose en soluciones de análisis estático. Más tarde se incorporó a Fortify en EE.UU., donde se dio cuenta de que no bastaba con detectar problemas de código sin ayudar a los desarrolladores a escribir código seguro. Esto le inspiró para desarrollar productos que ayuden a los desarrolladores, alivien la carga de la seguridad y superen las expectativas de los clientes. Cuando no está en su escritorio como parte de Team Awesome, le gusta estar en el escenario presentando en conferencias como RSA Conference, BlackHat y DefCon.

Secure Code Warrior puede ayudar a su organización a proteger el código a lo largo de todo el ciclo de vida del desarrollo de software y a crear una cultura que dé prioridad a la ciberseguridad. Tanto si es usted responsable de seguridad de aplicaciones, desarrollador, director de seguridad de la información o cualquier otra persona relacionada con la seguridad, podemos ayudar a su organización a reducir los riesgos asociados al código inseguro.
Reservar una demostraciónMatias Madou, Ph.D. es experto en seguridad, investigador y CTO y cofundador de Secure Code Warrior. Matias obtuvo su doctorado en Seguridad de Aplicaciones en la Universidad de Gante, centrándose en soluciones de análisis estático. Más tarde se incorporó a Fortify en EE.UU., donde se dio cuenta de que no bastaba con detectar problemas de código sin ayudar a los desarrolladores a escribir código seguro. Esto le inspiró para desarrollar productos que ayuden a los desarrolladores, alivien la carga de la seguridad y superen las expectativas de los clientes. Cuando no está en su escritorio como parte de Team Awesome, le gusta estar en el escenario presentando en conferencias como RSA Conference, BlackHat y DefCon.
Matías es un investigador y desarrollador con más de 15 años de experiencia práctica en seguridad de software. Ha desarrollado soluciones para empresas como Fortify Software y su propia empresa Sensei Security. A lo largo de su carrera, Matías ha dirigido múltiples proyectos de investigación sobre seguridad de aplicaciones que han dado lugar a productos comerciales y cuenta con más de 10 patentes en su haber. Cuando está lejos de su escritorio, Matias ha servido como instructor para la formación de seguridad de aplicaciones avanzadas courses y regularmente habla en conferencias mundiales como la Conferencia RSA, Black Hat, DefCon, BSIMM, OWASP AppSec y BruCon.
Matías es doctor en Ingeniería Informática por la Universidad de Gante, donde estudió la seguridad de las aplicaciones mediante la ofuscación de programas para ocultar el funcionamiento interno de una aplicación.


由于缺乏资源和速率限制,API 漏洞的行为几乎完全符合标题的描述。每个 API 的可用资源和计算能力都有限,具体取决于其环境。大多数人还必须回答用户或其他程序的请求,要求其执行所需的功能。当同时传入的请求过多,且 API 没有足够的计算资源来处理这些请求时,就会出现此漏洞。然后,该 API 可能变得不可用或无法响应新请求。
如果 API 的速率或资源限制设置不正确,或者代码中未定义限制,则容易受到此问题的影响。例如,如果企业遇到特别繁忙的时期,则API可能会过载。但这也是一个安全漏洞,因为威胁行为者可以故意使用请求使未受保护的 API 过载,以执行拒绝服务 (DDoS) 攻击。
顺便问一下,到目前为止,你在 API 游戏化挑战中表现如何?如果你想立即尝试处理速率限制漏洞的技能,那就进入竞技场:
现在,让我们更深入地了解一下。
缺乏资源和速率限制 API 漏洞的一些例子有哪些?
此漏洞可以通过两种方式潜入 API。首先是编码人员根本没有定义API的油门速率应该是多少。基础设施中的某个地方可能有默认的油门费率设置,但依赖它并不是一个好政策。相反,每个 API 都应单独设置其费率。尤其如此,因为 API 可能具有截然不同的功能和可用资源。
例如,设计为仅为少数用户服务的内部 API 的油门速率可能非常低并且运行良好。但是,作为实时电子商务网站一部分的面向公众的API很可能需要定义极高的速率来弥补同时用户激增的可能性。在这两种情况下,节流速率都应根据预期需求、潜在用户数量和可用计算能力来定义。
为了最大限度地提高性能,将速率设置为无限可能会很诱人,尤其是在很可能非常繁忙的 API 中。这可以通过一段简单的代码来完成(例如,我们将使用 Python Django REST框架):
“默认节流速率:{
“不知道:没有,
“用户:无
在该示例中,匿名用户和系统已知用户都可以无限次地联系 API,而不考虑一段时间内的请求数量。这是个坏主意,因为无论API有多少可用的计算资源,攻击者都可以部署僵尸网络之类的东西,从而最终减慢其爬行速度,或者可能将其完全下线。发生这种情况时,有效用户将被拒绝访问,攻击将成功。
消除资源短缺和速率限制问题
组织部署的每个 API 都应在其代码中定义其限制率。这可能包括执行超时、最大允许内存、可以返回给用户的每页记录数或在定义的时间范围内允许的进程数量等内容。
从上面的示例中可以看出,与其完全开放限制速率,不如对匿名用户和已知用户使用不同的费率来严格定义节流速率。
“默认节流速率:{
“匿名:配置(“THROTTLE_ANON,默认值 = 200/小时),
“用户:配置(“THROTTLE_USER,默认值 = 5000/小时)
在新示例中,API 将限制匿名用户每小时发出 200 个请求。已通过系统审核的已知用户将获得更大的回旋余地,每小时 5,000 个请求。但是,即使它们也仅限于防止高峰时段意外过载,或者在用户帐户遭到入侵并被用于拒绝服务攻击时进行补偿。
作为最后要考虑的良好做法,最好在用户达到限制时向他们显示通知,并解释何时重置这些限制。这样,有效的用户就会知道应用程序拒绝他们的请求的原因。如果执行经批准的任务的有效用户被拒绝访问 API,这也会很有用,因为它可以向操作人员发出信号,表明需要加强限制。
来看看 安全代码勇士 博客页面,详细了解此漏洞以及如何保护您的组织和客户免受其他安全漏洞的破坏。你也可以 试试演示 Secure Code Warrior 培训平台可让您的所有网络安全技能不断磨练并保持最新状态。

由于缺乏资源和速率限制,API 漏洞的行为几乎完全符合标题的描述。每个 API 的可用资源和计算能力都有限,具体取决于其环境。大多数人还必须回答用户或其他程序的请求,要求其执行所需的功能。当同时传入的请求过多,且 API 没有足够的计算资源来处理这些请求时,就会出现此漏洞。然后,该 API 可能变得不可用或无法响应新请求。
如果 API 的速率或资源限制设置不正确,或者代码中未定义限制,则容易受到此问题的影响。例如,如果企业遇到特别繁忙的时期,则API可能会过载。但这也是一个安全漏洞,因为威胁行为者可以故意使用请求使未受保护的 API 过载,以执行拒绝服务 (DDoS) 攻击。
顺便问一下,到目前为止,你在 API 游戏化挑战中表现如何?如果你想立即尝试处理速率限制漏洞的技能,那就进入竞技场:
现在,让我们更深入地了解一下。
缺乏资源和速率限制 API 漏洞的一些例子有哪些?
此漏洞可以通过两种方式潜入 API。首先是编码人员根本没有定义API的油门速率应该是多少。基础设施中的某个地方可能有默认的油门费率设置,但依赖它并不是一个好政策。相反,每个 API 都应单独设置其费率。尤其如此,因为 API 可能具有截然不同的功能和可用资源。
例如,设计为仅为少数用户服务的内部 API 的油门速率可能非常低并且运行良好。但是,作为实时电子商务网站一部分的面向公众的API很可能需要定义极高的速率来弥补同时用户激增的可能性。在这两种情况下,节流速率都应根据预期需求、潜在用户数量和可用计算能力来定义。
为了最大限度地提高性能,将速率设置为无限可能会很诱人,尤其是在很可能非常繁忙的 API 中。这可以通过一段简单的代码来完成(例如,我们将使用 Python Django REST框架):
“默认节流速率:{
“不知道:没有,
“用户:无
在该示例中,匿名用户和系统已知用户都可以无限次地联系 API,而不考虑一段时间内的请求数量。这是个坏主意,因为无论API有多少可用的计算资源,攻击者都可以部署僵尸网络之类的东西,从而最终减慢其爬行速度,或者可能将其完全下线。发生这种情况时,有效用户将被拒绝访问,攻击将成功。
消除资源短缺和速率限制问题
组织部署的每个 API 都应在其代码中定义其限制率。这可能包括执行超时、最大允许内存、可以返回给用户的每页记录数或在定义的时间范围内允许的进程数量等内容。
从上面的示例中可以看出,与其完全开放限制速率,不如对匿名用户和已知用户使用不同的费率来严格定义节流速率。
“默认节流速率:{
“匿名:配置(“THROTTLE_ANON,默认值 = 200/小时),
“用户:配置(“THROTTLE_USER,默认值 = 5000/小时)
在新示例中,API 将限制匿名用户每小时发出 200 个请求。已通过系统审核的已知用户将获得更大的回旋余地,每小时 5,000 个请求。但是,即使它们也仅限于防止高峰时段意外过载,或者在用户帐户遭到入侵并被用于拒绝服务攻击时进行补偿。
作为最后要考虑的良好做法,最好在用户达到限制时向他们显示通知,并解释何时重置这些限制。这样,有效的用户就会知道应用程序拒绝他们的请求的原因。如果执行经批准的任务的有效用户被拒绝访问 API,这也会很有用,因为它可以向操作人员发出信号,表明需要加强限制。
来看看 安全代码勇士 博客页面,详细了解此漏洞以及如何保护您的组织和客户免受其他安全漏洞的破坏。你也可以 试试演示 Secure Code Warrior 培训平台可让您的所有网络安全技能不断磨练并保持最新状态。

Haga clic en el siguiente enlace y descargue el PDF de este recurso.
Secure Code Warrior puede ayudar a su organización a proteger el código a lo largo de todo el ciclo de vida del desarrollo de software y a crear una cultura que dé prioridad a la ciberseguridad. Tanto si es usted responsable de seguridad de aplicaciones, desarrollador, director de seguridad de la información o cualquier otra persona relacionada con la seguridad, podemos ayudar a su organización a reducir los riesgos asociados al código inseguro.
Ver informeReservar una demostraciónMatias Madou, Ph.D. es experto en seguridad, investigador y CTO y cofundador de Secure Code Warrior. Matias obtuvo su doctorado en Seguridad de Aplicaciones en la Universidad de Gante, centrándose en soluciones de análisis estático. Más tarde se incorporó a Fortify en EE.UU., donde se dio cuenta de que no bastaba con detectar problemas de código sin ayudar a los desarrolladores a escribir código seguro. Esto le inspiró para desarrollar productos que ayuden a los desarrolladores, alivien la carga de la seguridad y superen las expectativas de los clientes. Cuando no está en su escritorio como parte de Team Awesome, le gusta estar en el escenario presentando en conferencias como RSA Conference, BlackHat y DefCon.
Matías es un investigador y desarrollador con más de 15 años de experiencia práctica en seguridad de software. Ha desarrollado soluciones para empresas como Fortify Software y su propia empresa Sensei Security. A lo largo de su carrera, Matías ha dirigido múltiples proyectos de investigación sobre seguridad de aplicaciones que han dado lugar a productos comerciales y cuenta con más de 10 patentes en su haber. Cuando está lejos de su escritorio, Matias ha servido como instructor para la formación de seguridad de aplicaciones avanzadas courses y regularmente habla en conferencias mundiales como la Conferencia RSA, Black Hat, DefCon, BSIMM, OWASP AppSec y BruCon.
Matías es doctor en Ingeniería Informática por la Universidad de Gante, donde estudió la seguridad de las aplicaciones mediante la ofuscación de programas para ocultar el funcionamiento interno de una aplicación.
由于缺乏资源和速率限制,API 漏洞的行为几乎完全符合标题的描述。每个 API 的可用资源和计算能力都有限,具体取决于其环境。大多数人还必须回答用户或其他程序的请求,要求其执行所需的功能。当同时传入的请求过多,且 API 没有足够的计算资源来处理这些请求时,就会出现此漏洞。然后,该 API 可能变得不可用或无法响应新请求。
如果 API 的速率或资源限制设置不正确,或者代码中未定义限制,则容易受到此问题的影响。例如,如果企业遇到特别繁忙的时期,则API可能会过载。但这也是一个安全漏洞,因为威胁行为者可以故意使用请求使未受保护的 API 过载,以执行拒绝服务 (DDoS) 攻击。
顺便问一下,到目前为止,你在 API 游戏化挑战中表现如何?如果你想立即尝试处理速率限制漏洞的技能,那就进入竞技场:
现在,让我们更深入地了解一下。
缺乏资源和速率限制 API 漏洞的一些例子有哪些?
此漏洞可以通过两种方式潜入 API。首先是编码人员根本没有定义API的油门速率应该是多少。基础设施中的某个地方可能有默认的油门费率设置,但依赖它并不是一个好政策。相反,每个 API 都应单独设置其费率。尤其如此,因为 API 可能具有截然不同的功能和可用资源。
例如,设计为仅为少数用户服务的内部 API 的油门速率可能非常低并且运行良好。但是,作为实时电子商务网站一部分的面向公众的API很可能需要定义极高的速率来弥补同时用户激增的可能性。在这两种情况下,节流速率都应根据预期需求、潜在用户数量和可用计算能力来定义。
为了最大限度地提高性能,将速率设置为无限可能会很诱人,尤其是在很可能非常繁忙的 API 中。这可以通过一段简单的代码来完成(例如,我们将使用 Python Django REST框架):
“默认节流速率:{
“不知道:没有,
“用户:无
在该示例中,匿名用户和系统已知用户都可以无限次地联系 API,而不考虑一段时间内的请求数量。这是个坏主意,因为无论API有多少可用的计算资源,攻击者都可以部署僵尸网络之类的东西,从而最终减慢其爬行速度,或者可能将其完全下线。发生这种情况时,有效用户将被拒绝访问,攻击将成功。
消除资源短缺和速率限制问题
组织部署的每个 API 都应在其代码中定义其限制率。这可能包括执行超时、最大允许内存、可以返回给用户的每页记录数或在定义的时间范围内允许的进程数量等内容。
从上面的示例中可以看出,与其完全开放限制速率,不如对匿名用户和已知用户使用不同的费率来严格定义节流速率。
“默认节流速率:{
“匿名:配置(“THROTTLE_ANON,默认值 = 200/小时),
“用户:配置(“THROTTLE_USER,默认值 = 5000/小时)
在新示例中,API 将限制匿名用户每小时发出 200 个请求。已通过系统审核的已知用户将获得更大的回旋余地,每小时 5,000 个请求。但是,即使它们也仅限于防止高峰时段意外过载,或者在用户帐户遭到入侵并被用于拒绝服务攻击时进行补偿。
作为最后要考虑的良好做法,最好在用户达到限制时向他们显示通知,并解释何时重置这些限制。这样,有效的用户就会知道应用程序拒绝他们的请求的原因。如果执行经批准的任务的有效用户被拒绝访问 API,这也会很有用,因为它可以向操作人员发出信号,表明需要加强限制。
来看看 安全代码勇士 博客页面,详细了解此漏洞以及如何保护您的组织和客户免受其他安全漏洞的破坏。你也可以 试试演示 Secure Code Warrior 培训平台可让您的所有网络安全技能不断磨练并保持最新状态。
Índice
Matias Madou, Ph.D. es experto en seguridad, investigador y CTO y cofundador de Secure Code Warrior. Matias obtuvo su doctorado en Seguridad de Aplicaciones en la Universidad de Gante, centrándose en soluciones de análisis estático. Más tarde se incorporó a Fortify en EE.UU., donde se dio cuenta de que no bastaba con detectar problemas de código sin ayudar a los desarrolladores a escribir código seguro. Esto le inspiró para desarrollar productos que ayuden a los desarrolladores, alivien la carga de la seguridad y superen las expectativas de los clientes. Cuando no está en su escritorio como parte de Team Awesome, le gusta estar en el escenario presentando en conferencias como RSA Conference, BlackHat y DefCon.

Secure Code Warrior puede ayudar a su organización a proteger el código a lo largo de todo el ciclo de vida del desarrollo de software y a crear una cultura que dé prioridad a la ciberseguridad. Tanto si es usted responsable de seguridad de aplicaciones, desarrollador, director de seguridad de la información o cualquier otra persona relacionada con la seguridad, podemos ayudar a su organización a reducir los riesgos asociados al código inseguro.
Reservar una demostraciónDescargarRecursos para ayudarle a empezar
Temas y contenidos de la formación sobre códigos de seguridad
Nuestro contenido líder en el sector está en constante evolución para adaptarse al cambiante panorama del desarrollo de software, teniendo en cuenta su función. Los temas abarcan desde la IA hasta la inyección de XQuery, y son aptos para puestos que van desde arquitectos e ingenieros hasta gestores de productos y control de calidad. Eche un vistazo por adelantado a nuestro catálogo de contenidos, ordenados por tema y función.
La Cámara de Comercio establece el estándar para la seguridad impulsada por desarrolladores a gran escala
Kamer van Koophandel comparte cómo ha integrado la codificación segura en el desarrollo diario mediante certificaciones basadas en roles, evaluaciones comparativas de Trust Score y una cultura de responsabilidad compartida en materia de seguridad.
Modelado de amenazas con IA: convertir a cada desarrollador en un modelador de amenazas
Saldrá mejor equipado para ayudar a los desarrolladores a combinar ideas y técnicas de modelado de amenazas con las herramientas de IA que ya utilizan para reforzar la seguridad, mejorar la colaboración y crear software más resistente desde el principio.
Recursos para ayudarle a empezar
Cybermon ha vuelto: la misión de derrotar al jefe IA ya está disponible bajo demanda.
Cybermon 2025 ya está disponible en SCW durante todo el año. Guerra de seguridad de IA/LLM de alto nivel de la tribu, desarrollo de IA de seguridad reforzada con modelos de gran escala.
Interpretación de la Ley de Resiliencia de la Red: ¿Qué significa lograr la seguridad mediante el diseño del desarrollo de software?
Comprenda los requisitos de la Ley de Resiliencia de las Redes de la Unión Europea (CRA), a quiénes se aplica y cómo los equipos de ingeniería pueden prepararse mediante prácticas de diseño, prevención de vulnerabilidades y desarrollo de capacidades de los desarrolladores.
Factor impulsor 1: Criterios de éxito claros y medibles
El facilitador 1 es el preludio de nuestra serie de 10 partes sobre los impulsores del éxito, que muestra cómo vincular la codificación segura con los resultados empresariales, como la reducción del riesgo y el aumento de la velocidad de maduración de los planes a largo plazo.




%20(1).avif)
.avif)
