Light

Objetivo

Explotar una vulnerabilidad de inyección SQL en un servicio basado en SQLite para obtener los nombres de usuario y contraseñas almacenados en la base de datos.

Reconocimiento Inicial

  1. Conexion al servicio:

    • Nos conectamos al servicio utilizando Netcat en la dirección IP 10.10.124.79 y puerto 1337:


Identificación de Vulnerabilidades

  1. Prueba de Comillas Simples: Al introducir una comilla simple ('), el sistema devuelve un error de sintaxis:

2. Restricciones Detectadas: - Palabras clave como SELECT, UNION, y FROM están bloqueadas.


Explotación

  1. Confirmación del Backend: Se verificó que el backend es SQLite ejecutando la siguiente consulta:

Resultado: Devuelve la versión de SQLite.

  1. Enumeración de Tablas: Para identificar las tablas disponibles en la base de datos, se utilizó la consulta:

Resultado: Enumeró todas las tablas y sus esquemas, identificando una tabla relevante llamada admintable.

  1. Extracción de Credenciales: Con la tabla identificada, se realizaron las siguientes consultas para extraer nombres de usuario y contraseñas:

    • Nombres de Usuario:

    • Contraseñas:

    Resultado: Obtuve la lista completa de nombres de usuario y contraseñas.


Conclusión

  • Vulnerabilidad Explotada: La máquina presenta una inyección SQL debido al manejo deficiente de las entradas del usuario.

  • Impacto: Acceso completo a credenciales almacenadas en la base de datos.

  • Solución Realizable:

    • Implementar consultas parametrizadas para evitar inyecciones.

    • Filtrar y validar las entradas del usuario.

    • Evitar exponer mensajes de error detallados que den pistas sobre el backend.


Última actualización