You are on page 1of 3

UNIVERSIDAD TECNICA DE AMBATO

FACULTAD DE INGENIERIA EN SISTEMAS, ELECTRONICA E INDUSTRIAL

CARRERA DE INGENIRIA EN ELECTRONICA Y COMUNICACIONES

MODULO DE GESTION DE REDES


ATAQUES DE SQL INYECTION

INTEGRANTES:

DIEGO PAZMIO
JONATHAN MORETA

QUE ES UN ATAQUE SQL

Consiste en la insercin de cdigo SQL por medio de los datos de entrada desde la parte
del cliente hacia la aplicacin. Es decir, por medio de la insercin de este cdigo el
atacante puede modificar las consultar originales que debe realizar la aplicacin y
ejecutar otras totalmente distintas con la intencin de acceder a la herramienta, obtener
informacin de alguna de las tablas o borrar los datos almacenados, entre otras muchas
cosas.
Como consecuencias de estos ataques y dependiendo de los privilegios que tenga el
usuario de la base de datos bajo el que se ejecutan las consultas, se podra acceder no

slo a las tablas relacionadas con la aplicacin, sino tambin a otras tablas
pertenecientes a otras bases de datos alojadas en ese mismo servidor.
DEFENSAS AL ATAQUE SQL
Dentro de SQL
El principal problema de estos ataques es que si dejamos que el usuario del programa
introduzca libremente caracteres sin control ninguno (mediante formularios, por
ejemplo) puede llegar a aprovecharse de las comillas (simples y dobles con las que
declaramos cadenas de texto o strings).

or lo tanto la solucin genrica sera evitar que se pudieran introducir caracteres


especiales (como comillas) sin haberlas transformado antes (por ejemplo, una comilla
doble: " debera de transformarse en \" que as interpretar como texto la comilla y no
como el carcter que cierra o abre el una texto en la consulta, pero segn el lenguaje se
puede implementar de distintas formas y algunas son automticas y ms optimizadas.

Mediante PHP
En PHP tenemos

varias

formas

de

hacerlo,

entre

ellas

para

bases

de

datos MySQL tenemos la funcin mysql_real_escape_string, que aadiremos en las


variables que introducimos en la consulta.

Mediante .NET
En .NET evitaremos la inyeccin en SQL Server (con C#) estableciendo el tipo de
parmetro como literal con SqlDbType.VarChar.

You might also like