Escolar Documentos
Profissional Documentos
Cultura Documentos
Negação de Serviço (DoS)
Negação de Serviço (DoS)
Descrição
Exemplos
As seguintes técnicas DoS e exemplos foram extraídos da OWASP Testing Guide v2.
Como podemos ver neste exemplo simples, o usuário tem o controle sobre o contador
de loop. Se o código dentro do laço é muito exigente em termos de recursos, e um
intruso força a ser executado um número muito elevado de vezes, isso pode diminuir
o desempenho do servidor no tratamento de outras solicitações, causando uma
condição de negação.
int main () {
char *str = "This is a string that is larger than the buffer of 10";
overflow(str);
}
Se este exemplo de código for executado, causaria uma falha de segmentação e núcleo
de despejo. A razão é que strcpy iria tentar copiar 53 caracteres em uma matriz de
apenas 10 elementos, substituindo posições de memória adjacentes. Embora este
exemplo acima seja um caso extremamente simples, a realidade é que em um aplicativo
baseado na web pode haver lugares onde a entrada do usuário não é verificada de
forma adequada para o seu comprimento, tornando este tipo de ataque possível.