Skip to main content
XSSChecker suite avanzada de detección de vulnerabilidades XSS

XSSChecker suite avanzada de detección de vulnerabilidades XSS

XSSChecker es una suite avanzada para la detección de vulnerabilidades XSS en portales web

Bienvenidos a un nuevo post en Byte Mind. En el caso de hoy les traigo una herramienta llamada XSSChecker, desarrollada por mí, para la detección de vulnerabilidades XSS en portales web.

XSSChecker es una suite avanzada para la detección de vulnerabilidades XSS, escrita en Python, con la que posteriormente ayudar a la corrección de las mismas en nuestras aplicaciones web.

 

Instalación

La herramienta requiere disponer de la versión de Python 3.7 o superior instalada en nuestro sistema.

Para la instalación de esta herramienta, basta con descargar la misma desde su repositorio en github en la url https://github.com/shokone/XSSChecker y que podemos hacer con el siguiente comando:

Una vez descargada, accedemos al directorio recién creado:

Y realizamos la instalación de las librerías necesarias para su ejecución:

 

Uso de XSSChecker

Al igual que la gran mayoría de herramientas dispone de una ayuda muy completa con la que aprender a utilizar la misma. Para ello lanzaremos la tool con la opción -h:

La herramienta dispone de varias formas de escaneo que pasamos a explicar a continuación.

 

Escaneo básico

Para el uso de la herramienta, el único parámetro obligatorio que se deberá introducir es la url objetivo de nuestro ataque. En esta opción básica, la herramienta buscará los formularios existentes en la url facilitada e intentará la explotación de los mismos, el comando quedaría de la siguiente forma:

XSSChecker suite avanzada de detección de vulnerabilidades XSS

 

Para la detección de la vulnerabilidad el script realizará dos peticiones, una básica mediante el uso del módulo requests (algo parecido a un curl) y por otra parte lanzará un navegador en background para realizar la comprobación de que la ventana de alert se ha creado correctamente con los caracteres introducidos.

Para la comprobación del navegador, la herramienta incluye los webdrivers necesarios para el uso de los navegadores firefox (opción por defecto) o chrome, sin la necesidad de disponer de la instalación del navegador en nuestro equipo.

Si queremos especificar el mismo lo haríamos con el siguiente comando:

 

Escaneo avanzado

Además de la opción básica, el script nos permite incluir diferentes parámetros para ajustar nuestro ataque.

Por ejemplo, podemos especificar los parámetros necesarios, ya sea a través de la url:

de la opción “parameter” en la cual se indicaría sólo el nombre del mismo:

o la opción data para indicar varios parámetros a utilizar:

Existe la opción de añadir cookies personalizadas para nuestro ataque:

O el uso de un useragent concreto:

 

A continuación vemos un ejemplo en una captura de pantalla:

XSSChecker suite avanzada de detección de vulnerabilidades XSS

 

 

Personalización del ataque

Además de las opciones indicadas, existe la opción de especificar el método a utilizar, sea POST o GET:

La herramienta dispone también de varios niveles de payloads a utilizar según la complicación de los mismos:

  • Level 1 – Basic XSS
  • Level 2 – Basic XSS, body, img and div
  • Level 3 – Basic XSS, body, img, div, svg and polyglot

Y que se especificará con la opción -l como vemos en el siguiente ejemplo:

También es posible especificar un fichero propio de payloads a ejecutar, pero en este caso dispone de un requisito, que se especifique el string INJECTHERE para la verificación por parte de la herramienta, de la correcta ejecución del mismo, por ejemplo, podríamos crear nuestro fichero de la siguiente forma:

Y cargar posteriormente como en el siguiente ejemplo:

 

Además dispone de un modo descriptivo con la opción verbose que mostrará más información del escaneo realizado:

 

 

Esto ha sido todo por el momento, espero os sea de utilidad y como siempre cualquier aporte o duda es bienvenida en la sección de comentarios.

 

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *