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
CVE-2023-25157 — Laboratório local GeoServer/PostGIS que reproduz a injeção SQL do OGC Filter (CVE-2023-25157/25158) com modos de teste A/B vulnerável, corrigido e mitigado. | Kitploit
Ferramentas/GitHubGitHub/ivanesk315/cve-2023-25157
Scanners de VulnerabilidadesAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebSegurança WebTestes de PenetraçãoAprendizado e EducaçãoSegurança de Banco de DadosLabs e Prática
GitHubivanesk315/cve-2023-25157

CVE-2023-25157

Laboratório local GeoServer/PostGIS que reproduz a injeção SQL do OGC Filter (CVE-2023-25157/25158) com modos de teste A/B vulnerável, corrigido e mitigado.

há 12h 21mAinda não revisado
Ver Repositório

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

Lab CVE-2023-25157 e CVE-2023-25158

Este lab usa GeoServer/PostGIS para pesquisar OGC Filter SQL injection em ambiente local, com separação clara entre modo operator/setup e modo attacker.

  • CVE-2023-25157: superfície do produto GeoServer, requisições WFS/WMS entram no JDBC filter encoding.
  • CVE-2023-25158: causa raiz na biblioteca GeoTools JDBC, incorporada pelo GeoServer para converter OGC filter em SQL.

GeoServer 2.22.0 incorpora GeoTools vulnerável. GeoServer 2.22.2 incorpora GeoTools corrigido. O lab mantém o mesmo schema/request para teste A/B de versão, mitigação e limite de privilégios.

Arquitetura

ModoSuperfíciePropósito
Setup/operator RESTcontainer interno cve-operatorSetup REST, validação e revisão de log do backend
Gateway único127.0.0.1:8889Uma única porta para UI do operator e rotas OWS
Operator Web UI127.0.0.1:8889/geoserver/web/UI do GeoServer para o operador; com proxy Basic Auth
Attacker vulnerable127.0.0.1:8889/vuln/geoserver/owsWFS/OWS vulnerável, erro de DB aparece na resposta
Attacker patched127.0.0.1:8889/patched/geoserver/owsGeoServer 2.22.2 / GeoTools 28.2
Attacker realistic127.0.0.1:8889/realistic/geoserver/owsWFS/OWS vulnerável mas gateway remove detalhes de erro
Mitigation function127.0.0.1:8889/mit-functions/geoserver/owsGeoServer 2.22.0, encode functions=false
Mitigation FeatureId127.0.0.1:8889/mit-featureid/geoserver/owsGeoServer 2.22.0, preparedStatements=true

PostgreSQL/PostGIS não publica porta para o host. GeoServer não publica diretamente a porta 8080 para o host; o host só vê cve-gateway em 127.0.0.1:8889. O container cve-attacker está apenas em attacker-net; ele não tem rota para PostgreSQL ou serviço interno do GeoServer. O setup REST passa pelo container interno cve-operator em geoserver-net.

Web UI do operator

Abra no navegador:

root@kitploit:~
http://127.0.0.1:8889/geoserver/web/

Login em 2 camadas:

  1. Proxy operator Basic Auth: operator / operator_lab
  2. GeoServer UI: admin / geoserver

Tudo passa pelo mesmo gateway 8889, sem precisar memorizar várias portas. O Burp pode manter o proxy padrão 127.0.0.1:8080.

Executar o lab

root@kitploit:~
.\lab.ps1 reset all
.\lab.ps1 validate
powershell -ExecutionPolicy Bypass -File .\verify-lab.ps1
powershell -ExecutionPolicy Bypass -File .\negative-controls.ps1
powershell -ExecutionPolicy Bypass -File .\attack-chain.ps1

Comandos de gerenciamento:

root@kitploit:~
.\lab.ps1 start vulnerable
.\lab.ps1 start patched
.\lab.ps1 start mitigated
.\lab.ps1 start worstcase
.\lab.ps1 reset all
.\lab.ps1 stop
.\lab.ps1 status

Dados e roles

Tabelas de seed:

  • cities: chave primária integer, coluna name text, usada para strStartsWith/strEndsWith.
  • sensors_text: chave primária text, usada para FeatureId injection.
  • sensors_int: chave primária integer, negative control para FeatureId.
  • events: camada de pesquisa JSONB.
  • internal_assets: não publicada, contém LAB-CANARY-<UUID> novo após cada reset.
  • local_points: shapefile non-JDBC negative control.

Roles:

  • geoserver_readonly: CONNECT, USAGE schema, SELECT apenas nas tabelas publicadas.
  • geoserver_impact: SELECT adicional em internal_assets para ilustrar usuário de DB da aplicação com privilégios amplos.
  • geoserver_worstcase: perfil separado, com pg_read_server_files para ler arquivo canary falso /lab/flag.txt.

Fluxo do attack-chain

attack-chain.ps1 executa:

  1. Recon WFS GetCapabilities.
  2. Enum de schema DescribeFeatureType.
  3. Requisições baseline e negative.
  4. Oracle booleano TRUE/FALSE no proxy realistic.
  5. Confirmação do CVE-2023-25157 com vulnerable, patched e encode functions=false.
  6. Confirmação do CVE-2023-25158 com vulnerable, patched e preparedStatements=true.
  7. Negative controls: integer PK e shapefile non-JDBC.
  8. Leak do usuário de DB e descoberta de tabela oculta via impact branch.
  9. Prova de que least-privilege bloqueia internal_assets, impact branch vaza canary, patched/realistic não divulgam canary.

As evidências são salvas em evidence/attack-chain-*. A pasta atual mantém apenas a evidência de pass mais recente para evitar acúmulo.

Perfil worst-case

Este perfil não faz parte do cenário principal:

root@kitploit:~
.\lab.ps1 start worstcase
powershell -ExecutionPolicy Bypass -File .\worstcase-demo.ps1

Ele apenas lê o arquivo canary falso /lab/flag.txt, não lê /etc/passwd, não faz dump de hash, não quebra senha.

Fontes oficiais

  • GeoServer advisory: https://github.com/geoserver/geoserver/security/advisories/GHSA-7g5f-wrx8-5ccf
  • GeoTools advisory: https://github.com/geotools/geotools/security/advisories/GHSA-99c3-qc2q-p94m
  • GeoServer statement: https://geoserver.org/vulnerability/2023/02/20/ogc-filter-injection.html
  • NVD CVE-2023-25157: https://nvd.nist.gov/vuln/detail/CVE-2023-25157
  • NVD CVE-2023-25158: https://nvd.nist.gov/vuln/detail/CVE-2023-25158
Baixar ferramenta