Tipos de vulnerabilidades web: Cross Site Scripting

Para todo programador de aplicaciones web es realmente necesario saber cuáles son los errores más comunes a la hora de desarrollar sitios. Algunos no toman muy en cuenta esto ya que no consideran necesario hacerlo, pero la verdad es que es muy importante ya que puede terminar comprometiendo la información del servidor donde se encuentra alojada la aplicación.

xss

Una de las vulnerabilidades más detectadas en un sitio web es el XSS o Cross Site Scripting, que es un error cometido por casi todo tipo de programador, ya se avanzado o novato. El bug se presenta cuando las variables están mal filtradas en la aplicación por lo que el atacante puede incluir código malicioso para sacar provecho él.

¿Como y en donde sucede el XSS?

Como ya he mencionado sucede por un mal filtro de las variables o porque no se ha incluido uno como tal, entonces si por ejemplo hay un foro, libro de visitas o incluso un buscador que no ha aplicado un filtro el atacante por medio de lenguajes script (como Visual Basic Script o Java Script) puede llegar a aprovechar esta vulnerabilidad o realizar lo que ellos mismo denominan un “Deface“. Ésto consiste en redireccionar la página principal de tu sitio web (o la página que contiene el bug) a otro sitio; que generalmente esta en otro servidor.

Con esto incluso se puede llegar a “troyanizar” cientos de ordenadores de gente que visita el sitio web, ya que generalmente la gente no está familiarizada con este tipo de ataque, es decir un atacante puede aprovechar el bug para redireccionar el sitio original a un sitio web falso para que este introduzca sus datos personales (correo electrónico, contraseñas) y así obtener ganancias de ello.

Una de las formas de prevenir este tipo de error en la programación es usando funciones especiales que filtren los caracteres que pueden llegar a inyectarse como por ejemplo código puro HTML, Java Script o Visual Basic Script, por ejemplo en PHP existe una función llamada htmlentities(); que aplica todos estos filtros automáticamente.