La vulnerabilidad Cross-Site-Scripting (XSS)
Consiste en inyectar código HTML o Javascript en una aplicación web con el fin de que el navegador de un usuario ejecute el
código inyectado en el momento de ver la página alterada.
Principalmente el XSS se utiliza para causar una acción indebida en el
navegador de un usuario, pero dependiendo de la vulnerabilidad, se puede
explotar el fallo para causar esa acción indebida en un servidor o en
una aplicación.
Esta limitación se debe a que el código HTML se interpreta en el
navegador de un usuario y no en el servidor. Así que si alguien inyecta
código HTML en alguna aplicación web no podría hacer daño alguno al
servidor, ya que éste nunca interpreta el código HTML, sólo los
navegadores. Por eso este ataque se denomina: “ataque del lado del
cliente”.
El XSS es una forma especial de ataque contra la validación de los
parámetros de entrada. La diferencia principal entre un ataque XSS y
un ataque de inyección SQL, por ejemplo, es que el objetivo, en
este caso, suelen ser los usuarios de la aplicación, más que la propia
aplicación. Por ejemplo, en un ataque por inyección SQL se intentará
acceder o modificar el contenido de la base de datos de la aplicación,
mientras que en un ataque XSS se introducirá un troyano en el navegador
web de la víctima (troyano: una aplicación que se
ejecutará en el navegador sin que el usuario sea consciente de ello).
Este troyano puede estar elaborado en lenguajes que se ejecutan de la parte
del cliente, como por ejemplo JavaScript.
Los ataques XSS tampoco se limitan al robo de cookies, el ataque puede variar dependiendo de cada situación. Se puede
aprovechar alguna vulnerabilidad conocida del navegador (acceso
arbitrario de ficheros, manipulación de cookies, etc.) para
tener un mayor control sobre la máquina y/o el navegador
de la víctima.
Solución para evitar la vulnerabilidad XSS:
Instala y usa como navegador predeterminado Mozilla Firefox 3.0.1 y agrégale el add-on (extensión) NoScript 1.7.8.
# Descargar Firefox 3.0.1.
# Instalar NoScript 1.7.8 en español (página cifrada).

Abre el navegador Mozilla Firefox 3.0.1 con el add-on NoScript ya instalado e incorporado.
En la parte inferior derecha de la pantalla del navegador aparecerá el icono de NoScript indicando que se han bloqueado los Scripts de la página web correspondiente.
Haciendo clic sobre el icono NoScript, podrás realizar las siguientes acciones:
1. Permitir JavaScript globalmente (peligroso) - Te avisa de que el navegador aceptará JavaScripts de cualquier web que visites, con el peligro que conlleva.
2. No fiable - Te da la opción de marcar el sitio como no fiable.
3. Permitir la url - Se agregará a la lista blanca y, siempre que visites esa web, se ejecutarán los scripts.
4. Permitir temporalmente la url - Permitirá los scripts de esa web para la sesión.
5. Opciones - Están en español y son fáciles de configurar:
*Pestaña General: Se pueden conmutar los permisos para el sitio web actual y recargar la página automáticamente después de cambiarlos.
*Pestaña Lista blanca: Páginas web a las que permites ejecutar código Java Script (webs que son de confianza).
*Pestaña Presentación: Menú contextual (qué opciones mostrará noscript cuando hagas clic sobre el icono del programa).
*Pestaña Notificaciones: Por si deseas que se muestren las alertas de los scripts bloqueados con o sin aviso acústico.
*Pestaña Avanzado - Aparecen cuatro nuevas pestañas:
- No fiable: Puedes agregar restricciones adicionales para sitios no fiables.
- Fiable: Puedes agregar permisos adicionales para sitios fiables.
- XSS: Depura la peticiones Cross-Site sospechosas y convierte las peticiones POST Cross-Site en peticiones GET sin datos.
- JAR: Impide que los elementos remotos JAR (Java Archive - tipo de archivo que permite ejecutar aplicaciones escritas en lenguaje Java) se carguen como documentos.

Volver a la página principal
La Seguridad en Internet