Lack of Resources and Rate Limiting

Explore Pynt's comprehensive documentation on security tests for mitigating lack of resources and rate-limiting vulnerabilities! Learn how Pynt ensures robust protection against resource exhaustion.

Intro

A resource limit vulnerability in an API occurs when an attacker is able to cause the API to consume excessive resources (such as CPU, memory, or network bandwidth) beyond what was intended by the API designers. This can lead to denial of service (DoS) attacks, where the API becomes unavailable or unresponsive due to resource exhaustion.

What are the common mistakes done by developers ?

Resource limiting vulnerabilities in APIs can happen due to various reasons. Here are some common causes:

  1. Lack of access controls: APIs may not have proper access controls in place to limit the number of requests per user or per IP address. This can allow attackers to send a large number of requests to the API and cause it to consume excessive resources.

  2. Insufficient input validation: APIs may not properly validate input data from users, allowing attackers to send maliciously crafted data that can cause the API to consume excessive resources. For example, an attacker could send a request with a very large search query that causes the API to perform an extensive search operation.

  3. Lack of resource allocation controls: APIs may not have controls in place to limit the amount of resources that can be consumed by each request. For example, an API endpoint may allow users to download large files without any restrictions on the file size or download speed.

How can I fix lack of resources limiting issues ?

API designers should implement appropriate access controls, input validation, resource allocation controls, and optimize the code to reduce resource consumption. Additionally, they should monitor the API usage patterns and implement measures to handle unexpected traffic spikes and usage patterns.

Test cases in this category:

This test case queries excessive number of elements

Test caseOWASPCWE

[RES001] Resources limiting

Last updated