XSS es el acrónimo usado para “Cross Site Scripting”. XSS es una de las vulnerabilidades más comunes que tienen las aplicaciones web.
Estas vulnerabilidades ayudan a cualquier atacante a ejecutar cualquier código malicioso del lado del cliente en caso de que la aplicación web es vulnerable a XSS. Si el ataque tiene éxito, permite a los atacantes robar contraseñas, redirigir a los usuarios a páginas falsas y hacer cosas muchos más atrevidas.
Para entender XSS necesita saber acerca de HTML, JavaScript y tener algunos conocimientos básicos sobre los lenguajes de programación del lado del servidor como PHP, Python, etc. Muchos ataques hacen uso de JavaScript, así que hay que aprenderlo.
Los daños de un ataque XSS puede causar
1. Redireccionar a sitios de phishing, o a páginas falsas.
2. Robar las cookies e inicios de sesión de las cuentas de las víctimas para escalar privilegios y acceder a los sistemas.
3. Inserción de enlaces en HTML para instalar software malicioso en el sistema.
4. Los ataques de malware en el servidor.
5. Derribar sitios Web.
6. Denegación de Servicio (DoS).
¿Por qué XSS funciona y cómo se puede prevenir ataques?
XSS funciona debido a que no se validan los datos que se publican desde un campo de entrada, lo que provoca que en cualquier secuencia de comandos en el campo de entrada, con ciertas características pueda aprovechar dichas vulnerabilidades.
El tratamiento de los datos impide casi todos los ataques XSS. Se recomienda también tener un Web Application Firewall (WAF) para una seguridad más efectiva.
Hay una cabecera HTTP que impide la ejecución de XSS en el navegador que se llama “X-XSS protection HTTP Header”.
Tipos de XSS
Básicamente, hay dos tipos de XSS:
Persistente: También se conoce como XSS almacenado. En este tipo de ataque XSS, el código malicioso presentado por el servidor se almacena en el servidor y se ejecuta siempre en la página.
Un ejemplo para entender esto: Vamos a considerar que Facebook es vulnerable a XSS y el atacante presentó un código malicioso que puede robar la cookie y almacenarla en el servidor. Ahora cualquiera que publique algo en ese código de página, estará a merced del intruso, el cual podrá robar las cookies para tener control de sus cuentas.
No persistente: También se le llama XSS reflejado, el cual es la más común de las vulnerabilidades más encontradas hoy en día.
En este ataque el código presentado será enviado al servidor a través de una petición HTTP y el servidor de insertará dicho código en un archivo HTML, luego vuelve al cliente con la respuesta HTTP. Cada vez que el código se ejecuta desde el archivo HTML, se explota ese sistema.
Por ejemplo, consideremos una búsqueda en Google, Yahoo, Bing y otros más.
Si estás buscando “cryptoprogramming” el resultado le mostrará un mensaje como “Resultados de la búsqueda para cryptoprogramming”. Sí usted no es capaz de depurar perfectamente esta búsqueda, se ejecutará el scripts.
33 Grados Sur, informándote sobre las noticias contingentes en ciberseguridad. Nuestro objetivo es crear conciencia de cómo y por qué debemos estar alertas a las innumerables amenazas que estamos expuestos día a día.
*Fuente: https://marvin-soto.medium.com/
Fuente: marvin-soto.medium.com