Cross-Site Scripting o XSS es la vulnerabilidad o falla de seguridad que figura en la lista de las 10 vulnerabilidades principales de OWASP. La falla XSS se ocupa principalmente del código JavaScript arbitrario que puede comprometer la arquitectura interna de la aplicación. El atacante o hacker pasa el fragmento de código malicioso que tiene la intención de robar o destruir la arquitectura del sistema. Esta string o código malicioso se pasa al servidor a través de varios medios, como campos de entrada, parámetros o incluso se pasa como un archivo. En esta falla, la aplicación web genera la salida en función de la entrada del usuario, lo que puede ser riesgoso si la entrada del usuario es algo peligroso.
Ejemplo XSS
Considere una aplicación web que toma la string de nombre del usuario a través del parámetro de nombre proporcionado en la string de consulta.
http://geeksforgeeks.org/aform.html?name=Gaurav
El servidor del sitio web quiere mostrar el nombre-valor proporcionado por el usuario en la página HTML. En este caso, PHP se usa para extraer el valor de la URL y generar el resultado HTML
<?php echo ‘You Searched: ‘ . $_GET[“name”]; ?>
Por lo tanto, se puede formar un script malicioso de modo que si una víctima hace clic en la URL, el navegador de la víctima ejecutaría un script malicioso y enviaría los valores de la sesión al atacante.
http://geeksforgeeks.org/aform.html?name=<script>alert(‘XSS de Gaurav en GeeksforGeeks’);</script>
¿Qué es la herramienta XSpear?
Cross-Site Scripting o XSS es la vulnerabilidad más común detectada en los sitios web; La carga útil de JavaScript malicioso se inserta en los parámetros del soporte de datos o en los campos de entrada. Existen varias técnicas para la detección de XSS en el dominio de destino, como Burp Suite, ZAP, etc. Pero podemos realizar pruebas automatizadas utilizando la herramienta llamada XSpear. La herramienta XSpear es una herramienta automatizada diseñada y desarrollada en el lenguaje Ruby. La herramienta XSpear verifica varios tipos de vulnerabilidades XSS como Reflected, Blind, etc. Podemos proporcionar la carga útil personalizada mientras probamos el dominio. La herramienta también extrae información de reconocimiento como servidor, acción, etc. La herramienta XSpear es de código abierto y de uso gratuito.
Nota : como XSpear es una herramienta basada en el lenguaje Ruby, debe tener un entorno Ruby en su sistema. Así que revisa este enlace para instalar Ruby en tu sistema. – Instalación de Ruby en Linux
Características clave
- La herramienta XSpear admite la coincidencia de patrones.
- La herramienta XSpear es compatible con el parámetro reflejado, los controladores de eventos de prueba filtrados, etc.
- La herramienta XSpear puede trabajar con archivos Raw generados a través de Burp Suite y ZAP.
- La herramienta XSpear admite el guardado de resultados en formato JSON.
- La herramienta XSpear se ejecuta en el código Ruby.
- La herramienta XSpear puede realizar un análisis profundo de los encabezados de seguridad.
- La herramienta XSpear admite análisis dinámico y estático.
Instalación de la herramienta XSpear en Kali Linux
Paso 1 : verifique la versión del entorno Ruby con el siguiente comando.
gem -v
Paso 2 : Instale el paquete requerido 1 usando el siguiente comando.
sudo gem install colorize
Paso 3 : Instale el paquete requerido 2 usando el siguiente comando.
sudo gem install selenium-webdriver
Paso 4 : Instale el paquete requerido 3 usando el siguiente comando.
sudo gem install terminal-table
Paso 5 : Instale el paquete requerido 4 usando el siguiente comando.
sudo gem install progress_bar
Paso 6 : ahora instale el paquete de herramientas XSpear con el siguiente comando.
gem install XSpear
Paso 7 : Consulte la página de ayuda de la herramienta para una mejor comprensión.
XSpear -h
Gemas de dependencia
1. Colorear
gem install colorize
2. Selenium-Webdriver
gem install selenium-webdriver
3. Mesa de terminales
gem install terminal-table
4. Barra_de_progreso
gem install progress_bar
Trabajar con la herramienta XSpear en Kali Linux
Ejemplo 1: modo detallado
XSpear -u “http://testphp.vulnweb.com/listproducts.php?cat=123” -v 2
En este ejemplo, realizaremos un escaneo en nuestro dominio de destino en modo detallado. La etiqueta -v se usa para el modo detallado.
Ejemplo 2: escaneo XSS
XSpear -u “http://testphp.vulnweb.com/search.php?test=query” -d “buscar=yy”
En este ejemplo, escanearemos el dominio de destino desde la vulnerabilidad XSS.
Ejemplo 3: solo salida JSON
XSpear -u “http://testphp.vulnweb.com/search.php?test=query” -d “buscar=yy” -o json
1. En este ejemplo, guardaremos los resultados del escaneo en formato JSON. La etiqueta -o se usa para guardar la salida.
2. En la siguiente captura de pantalla, tenemos los resultados de nuestro escaneo en formato JSON.
3. En la siguiente captura de pantalla, hemos mostrado los resultados del formato JSON del archivo de salida.
Ejemplo 4: Establecer hilo de escaneo
XSpear -u “http://testphp.vulnweb.com/search.php?test=query” -t 30
En este ejemplo, estamos cambiando el valor de subproceso predeterminado. La etiqueta -t se usa para cambiar el valor predeterminado.
Ejemplo 5: Prueba en parámetros seleccionados
XSpear -u “http://testphp.vulnweb.com/search.php?test=query&cat=123&ppl=demo” -p cat,prueba
1. En este ejemplo, probaremos solo los parámetros seleccionados. La etiqueta -p se usa para seleccionar los parámetros para el escaneo.
2. En la siguiente captura de pantalla, tenemos los resultados de nuestro escaneo anterior.
Ejemplo 6: análisis de parámetros de solo prueba (también conocido como modo no-xss)
XSpear -u “http://testphp.vulnweb.com/search.php?test=query&cat=123&ppl=demo” –no-xss
1. En este ejemplo, solo estamos probando los parámetros sin la prueba XSS. –No se utiliza la etiqueta xss.
2. En la siguiente captura de pantalla, tenemos los resultados de nuestro escaneo.
Ejemplo 7: prueba de XSS ciego (todos los parámetros)
XSpear -u “http://testphp.vulnweb.com/search.php?test=query” -b “https://hahwul.xss.ht” -a
1. En este ejemplo, estamos probando el dominio de destino para la vulnerabilidad Blind XSS. Hemos pasado el enlace de recopilación de carga útil.
2. En la siguiente captura de pantalla, tenemos los resultados de nuestro escaneo.
Ejemplo 8 : Modo silencioso
XSpear -u http://testphp.vulnweb.com/listproducts.php?cat=123 -a -v2
En este ejemplo, estamos implementando el modo Quite. Hemos usado la etiqueta -v2 para el modo Quite
Ejemplo 9 : registro de escaneo
XSpear -u http://testphp.vulnweb.com/listproducts.php?cat=123 -a -v3
1. En este ejemplo, estamos mostrando los registros en vivo del escaneo. Hemos usado la etiqueta -v3 para registros en vivo.
2. En la siguiente captura de pantalla, obtenemos los detalles de registro en vivo del escaneo.
Publicación traducida automáticamente
Artículo escrito por gauravgandal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA