Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2023-25157 — Laboratorio locale GeoServer/PostGIS che riproduce l'iniezione SQL di OGC Filter (CVE-2023-25157/25158) con modalità di test A/B vulnerabili, corrette e mitigate. | Kitploit
Strumenti/GitHubGitHub/ivanesk315/cve-2023-25157
Scanner di VulnerabilitàAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebSicurezza WebPenetration TestingApprendimento e FormazioneSicurezza dei DatabaseLab e Pratica
GitHubivanesk315/cve-2023-25157

CVE-2023-25157

Laboratorio locale GeoServer/PostGIS che riproduce l'iniezione SQL di OGC Filter (CVE-2023-25157/25158) con modalità di test A/B vulnerabili, corrette e mitigate.

12h 21m faNon ancora revisionato
Vedi Repository

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

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

Questo lab utilizza GeoServer/PostGIS per studiare l'iniezione SQL tramite OGC Filter in un ambiente locale, con una chiara separazione tra modalità operator/setup e modalità attacker.

  • CVE-2023-25157: superficie del prodotto GeoServer, le richieste WFS/WMS passano attraverso la codifica dei filtri JDBC.
  • CVE-2023-25158: causa principale nella libreria GeoTools JDBC, incorporata da GeoServer per convertire i filtri OGC in SQL.

GeoServer 2.22.0 incorpora GeoTools vulnerabile. GeoServer 2.22.2 incorpora GeoTools con patch. Il lab mantiene lo stesso schema/richiesta per il test A/B di versione, mitigazione e confine dei privilegi.

Architettura

ModalitàSuperficieScopo
Setup/operator RESTcontainer interno cve-operatorSetup REST, validazione e revisione dei log del backend
Gateway singolo127.0.0.1:8889Una singola porta per la UI operator e le route OWS
Operator Web UI127.0.0.1:8889/geoserver/web/UI GeoServer per l'operatore; con proxy Basic Auth
Attacker vulnerable127.0.0.1:8889/vuln/geoserver/owsWFS/OWS vulnerabile, errori DB visibili nella risposta
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 vulnerabile ma il gateway rimuove i dettagli degli errori
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 non espone porte all'host. GeoServer non espone direttamente la porta 8080 all'host; l'host vede solo cve-gateway su 127.0.0.1:8889. Il container cve-attacker è solo su attacker-net; non ha route verso PostgreSQL o il servizio interno di GeoServer. Il setup REST passa attraverso il container interno cve-operator su geoserver-net.

Web UI operator

Apri nel browser:

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

Accesso a 2 livelli:

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

Tutto passa attraverso lo stesso gateway 8889, senza dover ricordare più porte. Burp può mantenere il proxy predefinito 127.0.0.1:8080.

Avvio del 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

Comandi di gestione:

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

Dati e ruoli

Tabelle seed:

  • cities: chiave primaria integer, colonna name di tipo text, utilizzata per strStartsWith/strEndsWith.
  • sensors_text: chiave primaria text, utilizzata per l'iniezione FeatureId.
  • sensors_int: chiave primaria integer, controllo negativo per FeatureId.
  • events: livello di ricerca JSONB.
  • internal_assets: non pubblicata, contiene LAB-CANARY-<UUID> nuovo dopo ogni reset.
  • local_points: shapefile non-JDBC come controllo negativo.

Ruoli:

  • geoserver_readonly: CONNECT, USAGE sullo schema, SELECT solo sulle tabelle pubblicate.
  • geoserver_impact: SELECT aggiuntivo su internal_assets per illustrare l'utente DB dell'app con privilegi ampi.
  • geoserver_worstcase: profilo separato, con pg_read_server_files per leggere il file canary fittizio /lab/flag.txt.

Flusso attack-chain

attack-chain.ps1 esegue:

  1. Recon WFS GetCapabilities.
  2. Enum schema DescribeFeatureType.
  3. Richieste baseline e negative.
  4. Oracle booleano TRUE/FALSE sul proxy realistic.
  5. Conferma CVE-2023-25157 con vulnerable, patched e encode functions=false.
  6. Conferma CVE-2023-25158 con vulnerable, patched e preparedStatements=true.
  7. Controlli negativi: PK integer e shapefile non-JDBC.
  8. Leak dell'utente DB e scoperta della tabella nascosta tramite il ramo impact.
  9. Dimostrazione che il least-privilege blocca internal_assets, il ramo impact perde il canary, patched/realistic non divulgano il canary.

Le evidenze vengono salvate in evidence/attack-chain-*. La cartella attuale conserva solo l'evidenza dell'ultimo pass per evitare confusione.

Profilo worst-case

Questo profilo non fa parte dello scenario principale:

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

Legge solo il file canary fittizio /lab/flag.txt, non legge /etc/passwd, non esegue dump di hash, non esegue cracking di password.

Fonti ufficiali

  • 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
Scarica lo strumento