INYECCIÓN SQL
La inyeccion de código SQL es una técnica de ataque usada para explotar sitios web que construyen sentencias SQL directamente a partir de datosfacilitados por el usuario.
Structured Query Language (SQL) es un lenguaje especializado de programación para realizar consultas a bases de datos. La mayoría de las aplicaciones de base dedatos, ya sean pequeñas o grandes, pueden ser accedidas usando sentencias SQL. SQL es un estándar ISO y ANSI. Sin embargo, muchos productos de base de datos que soportan SQL lo hacen conextensiones al estándar. Las aplicaciones web pueden usar datos facilitados por el usuario para crear sentencias SQL para peticiones de páginas web dinámicas.
Las bases de dados más susceptibles son.MYSQL
Se ejecuta con privilegios de ROOT por defecto
Volcado a ficheros con INTO OUTFILE
La ejecución de sentencias múltiples es POCO PROBABLE, pocos módulos lo permiten.
Oracle y DB2.La ejecución de sentencias múltiples NO está permitida
Anidamiento de consultas SELECT y uso de UNION posible
Uso de procedimientos intocables desde la inyección.
Postgres.
La ejecuciónde sentencias múltiples SI está permitida
Anidamiento de consultas SELECT y uso de UNION posible
Uso de procedimientos intocables desde la inyección
Uso de COPY posible como súper usuarioMS SQL
La ejecución de sentencias múltiples SI está permitida
Anidamiento de consultas SELECT y uso de UNION posible
Uso de procedimientos invocables desde la inyección (menciónespecial de 'xp_cmdshell' )
Los comandos SQL incluyen SELECT, INSERT, DELETE y DROP TABLE. DROP TABLE entre otras.
Qué lenguajes pueden inyectar SQL.
Aunque ASP y PHP son los más habituales, lainyección la puede realizar cualquier lenguaje que sea capaz de llamar a la base de datos y concatenar los datos que le pasen. Java, Perl, Python, C, Visual Basic, puede ser vulnerable.
Regístrate para leer el documento completo.