if(!isset($Keywords)) $Keywords = "PHP,Programación,recursos gratis,MYSQL,tips,trucos,diccionario informático,Términos técnicos,Galería de imágenes,Visual Basic,Microsoft,Linux,Apache,IIS,Foro,Manuales" ?> if(!isset($Description)) $Description = "Recursos gratuitos para programadores y estudiantes de informática" ?> if(!isset($TITLE)) $TITLE = "Programación, Manuales, Consejos, Trucos (PHP, HTML, CSS, Visual Basic, ASP, MySQL)" ?>
| |||||||||||||
Ataques de inyección de SQL Un ataque de inyección de SQL, es una de las maneras más fáciles de atacar
un sitio Web. Dicho ataque se dirige a la parte medular de un sistema, que es
la base de datos. ¿En qué consiste un ataque
de inyección de SQL? Consiste en la inclusión de código SQL dentro de las cajas de los
formularios de tal manera que cambien la sentencia original diseñada por el
programador por otra sentencia válida que realice alguna tarea “extra” diseñada
por el atacante. No es el objetivo de este artículo el proveer información que se pueda
prestar para realizar un ataque, por lo que no se pondrán ejemplos de ataques,
además de que es un tema bastante abordado en Internet. ¿Quién es el culpable de
esta vulnerabilidad? En este caso, el
error no corresponde a los sistemas de bases de datos ni del sistema operativo,
este es un error de omisión directamente achacable al desarrollador de la
aplicación, el cual por ignorancia o por descuido no validó correctamente la
entrada del usuario permitiéndole el acceso a la información confidencial. ¿Cuáles son los riesgos? Un ataque de inyección SQL puede estar dirigido a alguna
de las siguientes tareas: ·
Brincarse la validación de entrada (contraseña) ·
Ver información directamente de las bases de datos sin autorización. ·
Agregar, Modificar o Borrar registros. ·
Eliminar toda la información de la base de datos o incluso la base de
datos misma. Recomendaciones para evitar
los ataques:
Los ataques de inyección más simples pueden ser fácilmente bloqueados
simplemente reemplazando las comillas por su versión codificada (\’ o \”) o
cambiándolos por otro carácter, no obstante puede haber ataques que sean tan
complejos como la imaginación del atacante y que no son fácilmente
identificables, por lo que debemos procurar a toda costa evitar que los usuarios
puedan tener acceso a información relativa a la arquitectura de nuestra
información, entre menos conozcan, menos herramientas tendrán y más les
dificultaremos el ataque. Recomendación: Si has sido victima de ataques de SQL, puedes tratar de identificar al
culpable poniéndole una validación extra a tus formularios. Dicha validación
consiste en verificar si dentro de las cadenas que se envían aparecen
sentencias de SQL tradicionales, y en ese caso guardar en un registro la
información de la fecha, hora, IP y todo lo que puedas averiguar del atacante.
Eso te ayudará a darte una idea de la ubicación o incluso con algo de suerte
podrías darte cuenta si es alguien conocido el que te ataca. |
Nadie ha puesto ningún comentario todavía |