Hace poco me dieron un subdominio para probar y explotar con SQLi: gov.ns.agency . A diferencia de lo que vería en la mayoría de los tutoriales, realmente no puedo insertar parámetros en la URL como lo vería en cualquier otro lugar.
Esto es lo que intenté:
-
En la página de inicio de sesión, cualquier nombre de usuario fue suficiente con la contraseña:
' OR '1'='1
y me dirigen a gov.ns.agency/ usuarios . Aquí un formulario devuelve si un usuario existe. Se supone que debo obtener información de las columnas 'nombre' y 'pasar' de la tabla 'usuarios'. También hay una pista de que MySQL es la base de datos y que las solicitudes enviadas son GET y no POST, con la excepción de algunas consultas que devuelven un error interno del servidor 500. -
'UNION ALL SELECT NULL,version()'--
devolvió MySQL versión 8.0.11: omitiendo comillas simples devolvería 'usuario no encontrado'. -
'UNION SELECT 'Found', COLUMN_NAME FROM information_schema.columns WHERE table_name = 'users' AND column_name LIKE 'pa%
devolvió [nombre] Encontrado - > pase [priv] Todavía estoy rascándome la cabeza por lo que es 'priv', ¿podría describir los privilegios? admin quizás? -
'UNION ALL SELECT NULL,concat(schema_name) FROM information_schema.schemata'
esto le daría nombres a la base de datos, pero en cambio me dio un 500 Error interno del servidor.
Soy bastante nuevo en las pruebas de penetración y no estoy seguro de qué consulta obtendría las tablas e incluso cómo usaría herramientas como SQLMap o Burpsuite para hacerlo, o incluso cómo me acercaría a este tipo de sitio en el que ni siquiera puedo insertar consultas en la URL (que normalmente termina en .php? id = 123), por lo que cualquier consejo sería muy apreciado.