sqli-platform de Geospade: otra aplicación web vulnerable para practicar SQLi

En septiembre del año pasado os hablábamos del lab del holandés Audi-1 para practicar la explotación de vulnerabilidades SQLi y hoy, por si os habíais quedado con ganas, os traemos SQLi Platform de Geospace.

Se trata de otra aplicación WEB vulnerable para comprender los conceptos básicos de las inyecciones SQL.

La parte frontal expone un campo que permite al usuario buscar en una base de datos y recuperar nombres, alias, correos... Las entradas del usuario no están saneadas, lo que permite que un atacante inyecte código SQL y exfiltre las contraseñas.

Las consultas SQL se registran en el backend y también se muestran en la parte frontal, para que el atacante comprenda mejor lo que está haciendo.


Instalación

Para mayor comodidad se puede ejecutar la aplicación bajo contenedores Docker:

docker-compose up

De igual forma, podemos editar docker-compose.yml y modificar las siguientes settings:

MYSQL_ROOT_PASSWORD: Contraseña de la base de datos
SQL_HOST: Host de la base de datos, desde el punto de vista de la API
SQL_WAIT: tiempo que la API espera (en segundos) antes de conectarse a la base de datos

La aplicación es accesible en http://localhost:8080/.

Ejemplo de inyección (spoiler):

A continuación se muestra un ejemplo de payload que funciona, exponiendo todas las contraseñas en la tabla:

nothing%" UNION SELECT pass, nickname, email FROM users#

Resultando en la siguiente consulta completa:

SELECT id, nickname, email FROM users WHERE nickname LIKE "%nothing%" UNION SELECT pass, nickname, email FROM users#%"

Proyecto: https://github.com/Geospace/sqli-platform

Comentarios