
Prova de Conceito (POC) de um firewall simples em Python projetado para mitigar o ataque RCE Spring4Shell (CVE-2022-22965) inspecionando e bloqueando corpos de requisição maliciosos.
Este projeto é um firewall simples, mas eficaz, implementado como uma Prova de Conceito (PoC) em Python. Ele foi projetado para atuar como um servidor HTTP que inspeciona requisições POST recebidas, a fim de detectar e bloquear o padrão de payload específico associado à vulnerabilidade de execução remota de código (RCE) do Spring4Shell (CVE-2022-22965).
O firewall utiliza o módulo http.server nativo do Python. A lógica principal reside no método do_POST da classe ServerHandler.
POST recebidas.class.module.classLoader. Essa string é o componente fundamental do exploit Spring4Shell e é difícil para um atacante ofuscar.403 Forbidden.200 OK.Embora outras estratégias de mitigação pudessem focar em cabeçalhos ou caminhos de URL específicos, este método foi escolhido por sua robustez:
tomcatwar.jsp) ou nomes de cabeçalho personalizados, que podem ser facilmente alterados por um atacante.Para executar o firewall, use o script principal firewall_server.py:
python firewall_server.py
O servidor será iniciado em localhost:8000.
Você pode então usar o script Test_Requester.py fornecido para simular requisições maliciosas e verificar se estão sendo bloqueadas.
Esta é uma Prova de Conceito e destina-se apenas a fins educacionais e demonstrativos. Não é uma solução de firewall pronta para produção.