Solução
Nome | Valor |
---|---|
Vulnerabilidade | Regular expression Denial of Service (ReDoS) |
CWE | CWE-1333 |
OWASP Top Ten | N/A |
Expressões regulares podem parecer inocentes mas não é bem assim. Se um usuário consegue controlar uma expressão regular que será executada no seu servidor, ele pode inserir uma expressão propositalmente “quebrada” e causar lentidão ou até o travamento completo da aplicação.
Exemplo:
{
"pattern": "(((((((.*)*)*)*)*)*)*)\\."
}
Enviar esse payload para o endpoint desse exercício faria o consumo de CPU alcançar 100% e deixaria sua máquina bem lenta.
Isso é um tipo específico de vulnerabilidade de Denial of Service (DoS), que são vulnerabilidades que podem ser exploradas para causar a indisponibilidade de um serviço. Não confundir com Distributed Denial of Service (DDoS) que é quando um atacante dispara várias requisições para um serviço, usando várias máquinas (geralmente uma botnet), afim de causar a indisponibilidade do serviço.
Você consegue pensar em outros tipos de vulnerabilidades que poderiam ser usadas para DoS?