Paper científico · Segurança
Quando o POST vira GET: estudo analisa falhas em sites
Pesquisadores investigaram como aplicações web processam requisições HTTP e descobriram que muitos sites aceitam comandos de maneiras inconsistentes, o que pode abrir brechas de segurança.
O problema
Na internet, os métodos HTTP (Hypertext Transfer Protocol), protocolo que define como navegadores e servidores conversam, possuem regras claras. O método GET serve para buscar dados sem alterar nada no servidor, enquanto o POST envia informações e pode modificar dados. Porém, muitos sites e sistemas não aplicam essa separação de forma rígida. Imagine uma loja online onde o caixa deveria apenas registrar vendas com senhas especiais, mas acaba aceitando anotações informais deixadas no balcão.
O que os pesquisadores fizeram
Os autores estudaram a chamada permutabilidade de métodos HTTP (HTTP method interchangeability), que ocorre quando um site aceita uma requisição POST transformada em GET. Eles criaram uma ferramenta automatizada chamada MIDE (Method Interchange Detection Engine), que navega por sites em um navegador real, grava pedidos POST e testa se eles funcionam como pedidos GET. Para evitar resultados falsos, a ferramenta usa comparações chamadas de linha de base (baseline). O experimento analisou milhares de endereços da lista Tranco top 10k.
O que descobriram
Os testes mostraram que o comportamento intercambiável acontece em milhares de endereços na prática. O estudo encontrou requisições compatíveis em centenas de sites testados. Além disso, os pesquisadores analisaram fichas de controle e tokens de segurança contra falsificação de solicitações entre sites, conhecida como CSRF (Cross-Site Request Forgery). Eles descobriram casos em que um código de segurança inválido era rejeitado no modelo POST, mas aceito na versão GET equivalente. Também observaram condições ligadas a fraudes de cache web, chamadas de WCD (Web Cache Deception).
Por que isso importa
Muitas defesas de segurança na web dependem da regra de que operações sensíveis nunca usam o método GET. Se um invasor consegue executar uma ação sensível usando um formato diferente do esperado, as proteções do navegador e do servidor podem falhar. Pense em um sistema de segurança de escritório que exige crachá magnético na catraca, mas por um descuido deixa a porta dos fundos destrancada para qualquer pedestre. Isso reduz a barreira para ataques e expõe dados que deveriam ficar protegidos.
Limites e o que falta
O estudo focou apenas em testes automatizados sem autenticação em uma lista pública de sites. Os autores destacam que aceitar os dois métodos nem sempre indica uma falha grave por si só. O trabalho mapeou o comportamento geral de frameworks de desenvolvimento, mas são necessárias análises mais profundas em cada tipo de sistema para entender todos os riscos específicos.
Na prática
A pesquisa serve de alerta para desenvolvedores e empresas de tecnologia revisarem como seus sistemas interpretam comandos da web. No futuro, ferramentas de teste podem usar esses conceitos para corrigir falhas em servidores antes que invasores descubram brechas em regras de cache e segurança.
termos explicados
- HTTP (HTTP)
- Protocolo fundamental da internet que padroniza a comunicação entre navegadores e servidores web.
- CSRF (CSRF)
- Ataque que engana o navegador de um usuário autenticado para executar ações indesejadas em um sistema.
- WCD (WCD)
- Falha em que conteúdos dinâmicos e privados são armazenados indevidamente por sistemas de cache como se fossem públicos.
- MIDE (MIDE)
- Ferramenta automatizada criada no estudo para coletar e testar requisições web em larga escala.
Quer ler o artigo científico completo (em inglês)?
Explicação escrita com apoio de IA a partir do texto completo do paper. Resultados científicos são preliminares até serem confirmados por outros grupos.