You are on page 1of 4

UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA FACULTAD DE SISTEMAS Y TELECOMUNICACIONES ESCUELA DE INFORMATICA

Nombre: Borbor Vera Gabriel Nivel: Octavo Semestre Fecha: 24-Abril-2014 Materia: Programacin Web II

RESUMEN
Vulnerabilidades de Aplicaciones Web 1.- Inyeccin de Cdigo La Inyeccin de Cdigo consiste en un ataque a un software, aplicacin o sito web en el que los atacantes pueden obtener informacin de los usuarios o de alguna empresa, lo que puede originar la clonacin de credenciales de identidad y/o tarjetas bancarias o de crditos; as como tambin el atacante puede obtener el control de la pgina atacada o llevar cualquier tipo de actividades maliciosas; stas se llevan a cabo por medio de instrucciones maliciosas a travs de lenguajes de programacin que no formaban parte del programa, sistema, software, aplicacin o sitio web en cuestin, provocando que stos se vean afectados en sus rendimientos y funcionalidades. Los tipos de Inyeccin de cdigo son: Inyeccin de Cdigo SQL, XSS o Cross Site Scripting, CSRF (Cross Site Request Forgery) y RFI (Remote File Inclusion). Inyeccin de Cdigo SQL: Es un ataque que consiste en la modificacin de las consultas a la base de datos del sitio atacado, que se lleva a cabo a partir de los parmetros que se envan por la URL al script en PHP, y dados que SQL Server ejecutar todas las consultas recibidas que no contengan errores de sintaxis cualquier usuario con conocimientos bsicos de SQL puede provocar problemas en los sitios atacados. XSS o Cross Site Scripting: Consiste en introducir cdigo de JavaScript o lenguajes similares a ste para inyectar cdigo HTML, provocando daos en las pginas atacadas. CSRF (Cross Site Request Forgery): al contrario del XSS el CSRF se aprovecha de los usuarios, ya que una vez que estos hayan iniciado una sesin vlida en algn sitio Web para introducir instrucciones vlidas que afectan el comportamiento de la pgina en cuestin, este es un gran problema puesto que muchas usuarios no cierran correctamente la sesin cuando han ingresado a algn sitio web siendo un blanco fcil para los atacantes. RFI (Remote File Inclusion): Este tipo de ataques solo se dan en pginas dinmicas realizadas en PHP que permite al atacante el acceso a archivos remotos situados en otros servidores a causa de una mala progrmacin de la pgina que contiene la funcin include(). Este ataque no se da en pginas programadas en ASP o en cualquier otro tipo de lenguaje similar que no contenga el acceso remoto de cualquier archivo ajeno al servidor.

Inyecciones SQL La mayora de las aplicaciones web utilizan una base de datos para ofrecer pginas dinmicas y almacenar informacin tanto de los usuarios como de la propia herramienta, datos a los cuales se accede por medio de instrucciones SQL. Esto origin la aparicin de una de las vulnerabilidades ms peligrosas: el ataque por inyeccin de cdigo SQL, que no slo pone en riesgo la integridad de la aplicacin, sino de todos los datos almacenados de los usuarios que la utilicen. Consiste en la insercin de cdigo SQL por medio de los datos de entrada desde la parte del cliente hacia la aplicacin. Es decir, al introducir este cdigo el atacante puede modificar las consultas 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. Esto es posible gracias a que el uso de ciertos caracteres en los campos de entrada de informacin por parte del usuario, ya sea mediante el uso de los campos de los formularios que son enviados al servidor, mediante publicaciones o por medio de los datos enviados mediante el mtodo GET en las URLs de las pginas web. Los ataques ocurren normalmente cuando el usuario realiza una consulta en la pgina web, como por ejemplo al iniciar sesin; al realizar esta accin el usuario deber ingresar en la pgina (ya sea por medio de formularios u otros medios) su usuario y contrasea, esto genera que internamente en aplicacin se ejecuta una consulta de tipo SELECT en la base de datos sobre las tablas donde estn almacenados estos campos, para verificar q el usuario existe, para esto se enva por medio de la URL los parmetros del Usuario y Contrasea, si alguien con conocimiento agregara a la consulta por ejemplo que se seleccione el usuario y se inicie la sesin cuando la contrasea del usuario se la correcta o cuando 1=1, condicin que siempre se cumplir, este tendr acceso a los datos del usuario sin ni siquiera saber la contrasea. $sql = SELECT * FROM usuarios WHERE usuario = $usuario and password = $pass; Donde $usuario y $pass son los parmetro que se envan por url; $sql = SELECT * FROM usuarios WHERE usuario = $usuario and password = $pass OR 1 = 1 ; Con este cdigo mal intencionado puede tener acceso con solo conocer el usuario, puesto que que la consulta se realiara an cuando la contrasea sea incorrecta; Una forma de evitar estos ataques es parametrizando las consultas de SQL y evitar el uso de las comillas simples y dobles con las que se declaran cadenas de texto en SQL.

2.- Prdida y Autenticacin de Sesiones Este ataque es de consideracin crtica ya que permite al atacante suplantar la informacin de un determinado usuario dentro de un sitio o aplicacin web. Las consecuencias de un ataque de este tipo son graves ya que el atacante podra incluso apoderarse de una cuenta que le permita administrar y sabotear dicho sitio o aplicacin web, sin contar con el hecho de que tambin este podra tener a acceso de informacin confidencial del usuario que se encuentre almacenado en el servidor. Esta vulnerabilidad se encuentra presente en las aplicaciones web en la forma en cmo se gestionan las contraseas, las expiraciones de las sesiones o el proceso del cierre de la sesin. Muchas veces los atacantes se valen de los servicios que prestan los sitios web de la pregunta secreta, actualizacin de la cuenta o de Recordar contrasea. Otra forma en que los atacantes se aprovechan de los usuarios, es muchas veces estos no cierran la sesin que han iniciado en un determinado sitio, y puesto que el sitio web no cerrar la sesin a menos que sea por una peticin de los usuarios, dicha sesin quedar abierta en el servidor, y por tanto cualquiera puede tener acceso a la informacin del usuario. Muchas veces aunque los sitios web cuenten con un servicio de autenticacin segura a travs de https, puesto que asi la informacin viaja cifrada a travs de la url y por tanto el atacante no puede tener acceso a la contrasea de usuario, cabe recordar que todo servicio de autenticacin permite a travs de un objeto check recordar la contrasea al usuario, si el usuario marca este check, el sitio crear una cookie que guardar en el navegador el usuario y la contrasea, por lo tanto aunque el servicio de autenticacin del sitio web sea a travs de https, la autenticacin automtica se realizar a travs de http, por tanto el atacante puede tener acceso a nuestro usuario y contrasea a travs de la cookie almacenada. Las formas de prevenir esta vulnerabilidad en sitios o aplicaciones web requieren decisiones a nivel de diseo, por ejemplo la gestin de las contraseas nunca debe darse en texto plano, estas deben cifrarse, evitar en cuanto se pueda los servicios de autenticacin de Recordar contrasea, ofrecer en todas las paginas del sitio web el enlance o mecanismo para que el usuario pueda cerrar sesin., gestionar de forma adecuada la caducidad de las sesiones dentro del servidor despus de un perodo de inactividad.

3.- Secuencia de Comando en sitios cruzados Este ataque se aprovecha de la vulnerabilidad de los sitios web que no tienen implementado mecanismos de filtrado y validacin en los campos de entrada. Este tipo de ataque se realiza del lado del cliente puesto que el cdigo HTML que se inyecte en la URL se interpreta en el navegador y no en el servidor, es decir, el servidor de la pgina no sufre dao alguno, pero los atacantes se aprovechan de esta para realizar actos maliciosos a los usuarios del sitio. La Mayora de estos ataques se realizan por medios de los formularios de contacto del sitio Web, Mensajes de en los foros, en los navegadores web, y correos electrnicos. Para realizar esta inyeccin de cdigos HTML, el atacante hace uso de las etiquetas <frame> o <script> para introducir el cdigo malicioso, por ejemplo a

travs de estos el atacante puede robar las cookies del usuario que ha iniciado sesin sesin en un sitio Web. La mejor forma para prevenir los ataques de este tipo es validando toda la informacin entrante y codificando eficientemente toda la informacin saliente. La validacin. La validacin permite la deteccin de ataques, y la codificacin previene cualquier inyeccin de secuencia de comandos de ejecutarse exitosamente en el navegador. Otra forma de prevenir los ataques es filtrar determinados comando en nuestro sitio web, ya que estos se relizan a travs de etiquetas como <frame> y <script>.

You might also like