Cache Poisoning to DoS
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Nesta página você pode encontrar diferentes variações para tentar fazer o servidor web responder com erros a solicitações que são válidas para os servidores de cache
HTTP Header Oversize (HHO)
Envie uma solicitação com um tamanho de cabeçalho maior do que o suportado pelo servidor web, mas menor do que o suportado pelo servidor de cache. O servidor web responderá com uma resposta 400 que pode ser armazenada em cache:
HTTP Meta Character (HMC) & Valores inesperados
Envie um cabeçalho que contenha alguns caracteres meta prejudiciais como e . Para que o ataque funcione, você deve contornar o cache primeiro.
Um cabeçalho mal configurado poderia ser apenas \:
como um cabeçalho.
Isso também poderia funcionar se valores inesperados forem enviados, como um Content-Type: inesperado.
Cabeçalho sem chave
Alguns sites retornarão um código de status de erro se verem alguns cabeçalhos específicos na solicitação, como com o cabeçalho X-Amz-Website-Location-Redirect: someThing:
HTTP Method Override Attack (HMO)
Se o servidor suportar a alteração do método HTTP com cabeçalhos como X-HTTP-Method-Override
, X-HTTP-Method
ou X-Method-Override
. É possível solicitar uma página válida alterando o método para que o servidor não o suporte, assim uma resposta ruim é armazenada em cache:
Porta Não Chaveada
Se a porta no cabeçalho Host for refletida na resposta e não estiver incluída na chave de cache, é possível redirecioná-la para uma porta não utilizada:
Long Redirect DoS
Como no exemplo a seguir, x não está sendo armazenado em cache, então um atacante poderia abusar do comportamento da resposta de redirecionamento para fazer o redirecionamento enviar uma URL tão grande que retorna um erro. Assim, pessoas tentando acessar a URL sem a chave x não armazenada em cache receberão a resposta de erro:
Normalização de maiúsculas no cabeçalho Host
O cabeçalho Host deve ser insensível a maiúsculas, mas alguns sites esperam que esteja em minúsculas, retornando um erro se não estiver:
Normalização de caminho
Algumas páginas retornarão códigos de erro enviando dados URLencode no caminho, no entanto, o servidor de cache irá URLdecode o caminho e armazenar a resposta para o caminho URLdecoded:
Fat Get
Alguns servidores de cache, como Cloudflare, ou servidores web, bloqueiam solicitações GET com um corpo, então isso pode ser explorado para armazenar em cache uma resposta inválida:
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)