Probar la inyección de consultas SQL

Los ataques de inyección de código SQL implican insertar o "inyectar" consultas SQL a través de la entrada del cliente en la aplicación. Un ataque exitoso de este tipo se puede utilizar para leer información confidencial de la base de datos y modificarla o eliminarla. En los casos más extremos, le permite emitir comandos del sistema.


El siguiente es un fragmento de código peligroso que se puede utilizar para realizar un ataque de inyección sql:

SELECT * FROM users WHERE name = userName;

La variable "userName" se recupera del usuario. Si un atacante nombra 'OR' 1 '='1' como su nombre de usuario, esto obligará a seleccionar el nombre de usuario correcto porque la expresión '1' = '1' siempre es verdadera.


Puede utilizar una herramienta llamada sqlmap para probar vulnerabilidades de inyecciónsql, que automáticamente es capaz de encontrar y utilizar la capacidad de inyectar consultas SQL. Admite seis técnicas de inyección de código sql:basadas en lógica, ciegas, basadas en errores, consultas UNION,consultas acumulativas y ataques OOB. Permite atacar bases de datos MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase, SAP MaxDB, HSQLDB e Informix.


En la ilustración siguiente se muestra un ejemplo del uso de sqlmap,que, mediante pruebas heurísticas, detectó que el parámetro id puede ser vulnerable a un ataque por inyección de código sql en la consulta que se está probando.

Ejemplo de uso de SQLMAP

Chcesz wiedzieć więcej?

Zapisz się i bądź informowany o nowych postach (zero spamu!). <br> Dodatkowo otrzymasz, moją prywatną listę 15 najbardziej przydatnych narzędzi (wraz z krótkim opisem), których używam przy testach penetracyjnych.

Nigdy nie podam, nie wymienię ani nie sprzedam Twojego adresu e-mail. W każdej chwili możesz zrezygnować z subskrypcji.

Marcar el Enlace permanente.

Podziel się swoją opinią na temat artykułu