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.

Requisitos previos para entender XSS

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 y no persistente.

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.

Haciendo nuestro primer ataque.

  1. Buscar sitios web vulnerables: Usted puede hacer usando Google dorks o si desea probar su aplicación web, tiene que probar todas y cada una de las páginas que publican datos en el servidor.
  2. Encuentra los campos de entrada.
  3. Una vez que haya terminado con eso, es el momento para averiguar si la entrada es verificada o no. Introduzca cualquier secuencia de comandos en el campo de entrada y después proceda a mostrar resultados. El código fuente abierto y la búsqueda de la cadena que ha introducido.
  4. Si ve algo como esto, entonces su entrada no es verificada y que son vulnerables. Si la secuencia de comandos es verificada entonces <script> se publicará como &lt;script&gt;.
  1. Escriba su propio script para explotar la vulnerabilidad.

Pensador, innovador, luchador, enamorado de su profesión, apasionado por las letras… de dificil renunciar y lejano a rendirse…

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store