Está en la página 1de 4

INSTITUTO TECNOLGICO DE TIZIMN

INGENIERIA EN INFORMATICA
CARRERA

5 SEMESTRE
GRADO

TALLER DE BASE DE DATOS


ASIGNATURA

INYECCIN SQL
TEMA

DR. MANUEL ALEJANDRO CORONADO ARJONA


DOCENTE

IRVING PATRIZIO SANTOYO CASTILLO


ALUMNO

INYECCIN SQL QUE ES LA INYECCION SQL? Inyeccin SQL es un mtodo de infiltracin de cdigo intruso que se vale de una vulnerabilidad informtica presente en una aplicacin para realizar consultas a una base de datos. Es la tcnica utilizada por personas maliciosas con el fin de alterar o atacar una aplicacin a travs de comandos SQL. La aplicacin puede ser cualquier tipo de software que precise del uso de base de datos, o una aplicacin web que interacta con base de datos para funcionar. CMO ATACA LA INYECCIN SQL? Las inyecciones inyecta un cdigo SQL malicioso para alterar el funcionamiento normal de las consultas SQL programadas. Al no haber seguridad, el cdigo se ejecuta con consecuencias alarmantes. Con estas inyecciones se pueden obtener datos escondidos, eliminar o sobrescribir datos en la base de datos y hasta lograr ejecutar comandos peligrosos en la mquina donde est la base de datos. EJEMPLO: Este cdigo es de una aplicacin Web Vulnerable y tiene como parmetro parmetro nombreUsuario, que contiene el nombre del usuario a consultar. El cdigo SQL original y vulnerable es: consulta := "SELECT * FROM usuarios WHERE nombre = '" + nombreUsuario + "';" Si el operador escribe un nombre, por ejemplo Erika", nada anormal suceder, la aplicacin generara una sentencia SQL similar a la siguiente, que es perfectamente correcta, en donde se seleccionaran todos los registros con el nombre Erika" en la base de datos: SELECT * FROM usuarios WHERE nombre = Erika'; Pero si un operador malintencionado escribe como nombre de usuario a consultar: Erika'; DROP TABLE usuarios; SELECT * FROM datos WHERE nombre Erika ' Se generara la siguiente consulta SQL, (el color verde es lo que pretende el programador, el azul es el dato, y el rojo, el cdigo SQL inyectado):

SELECT * FROM usuarios WHERE nombre = Erika';DROP TABLE usuarios;SELECT * FROM datos WHERE nombre Erika'; En la base de datos se ejecutara la consulta en el orden dado, se seleccionaran todos los registros con el nombre Erika', se borrara la tabla 'usuarios' y finalmente se seleccionara toda la tabla "datos", que no debera estar disponible para los usuarios web comunes. En resumen, podemos decir que con la Eyeccin SQL cualquier dato de la base de datos puede quedar disponible para ser ledo o modificado por un usuario malintencionado. CARACTERSTICAS DE INYECCIN SQL Disponible para las plataformas: Windows, Unix y Linux. Soporta SSL Realiza la tcnica de inyeccin ciega de SQL. Comparando las respuestas verdaderas y falsas de las pginas o de los resultados de las cookies y los retrardos de tiempo. Soporta los motores de bases de datos: Microsoft SQL Server, Oracle, MySQL, Sybase/Adaptive y DB2. CMO EVITAR INYECCIN SQL? Filtrando las entradas de los usuarios reemplazando la aparicin de por (dos comillas simples). Evitando que los usuarios puedan pasar caracteres como \ / o cualquier otro que se nos ocurra que puede causar problemas. Limitar al mximo los permisos del usuario que ejecuta estas sentencias para evitar posibles problemas. Por ejemplo utilizando un usuario distinto para las sentencias SELECT, DELETE, UPDATE . Trabajar con procedimientos almacenados. El modo en el que se pasan los parmetros a los procedimientos almacenados evita que la inyeccin SQL pueda ser usada.

CONCLUSIN Inyeccin SQL es un mtodo de infiltracin de cdigo intruso que se vale de una vulnerabilidad informtica presente en una aplicacin para realizar consultas a una base de datos. Cuando el usuario se conecte sus privilegios debern ser delimitados. se recomienda no conectar a ningn usuario annimo como root. utilizar tcnicas de cifrado de informacin para que en caso de ser extrada no sea manipulada con facilidad.

También podría gustarte