En este lab con base a lo que vimos en la sección principal de SQLi de mi gitbook, aqui aplicaremos mediante el laboratorio de portswigger la forma indicada para saber el # de columnas de una tabla.
La razón para utilizar NULLcomo valores devueltos por la SELECTconsulta inyectada es que los tipos de datos en cada columna deben ser compatibles entre las consultas originales y las inyectadas. Dado que NULLes convertible a todos los tipos de datos utilizados comúnmente, su uso NULLmaximiza la posibilidad de que la carga útil tenga éxito cuando el recuento de columnas sea correcto
Este lab es unicamente para poder determinar el numero de columnas gracias al comando UNION dentro de SQL ahora bien esto lo hacemos con el fin de cuantas columnas tendremos antes de llevar a cabo un ataque UNION como el que menciono en la pagina principal que hace un union entre dos tablas, vamos al ejemplo:
En este caso estamos haciendo un ataque union para columnas del tipo:
'+UNION+SELECT+NULL--
--PERO podemos añadir más null con el fin hasta donde deja de darnos error la pagina y ahi ya sabremos cuantas columnas son
'+UNION+SELECT+NULL,NULL,NULL-- --En este caso bastó con 3 nulls para que omitiera el error.
#Pero podemos añadir más nulls hasta realmente saber cuantas col son.
Cuando el número de valores nulos coincide con el número de columnas, la base de datos devuelve una fila adicional en el conjunto de resultados, que contiene valores nulos en cada columna.