
Una interfaz de línea de comandos para explotación XSS y generador de payloads.
toxssin es una herramienta de pruebas de penetración de código abierto que automatiza el proceso de explotación de vulnerabilidades de Cross-Site Scripting (XSS). Consiste en un servidor https que actúa como intérprete del tráfico generado por el payload malicioso de JavaScript que impulsa esta herramienta (toxin.js).
Este proyecto comenzó como (y sigue siendo) un esfuerzo creativo basado en la investigación para explorar la profundidad de explotabilidad que una vulnerabilidad XSS puede introducir utilizando JavaScript vainilla, certificados de confianza y trucos baratos.
Descargo de responsabilidad: Usar esta herramienta contra aplicaciones web que no tenga permiso explícito para probar es ilegal. Usted es responsable de cualquier problema que pueda causar al usar esta herramienta.
https://www.youtube.com/watch?v=Z9I4UJUBrrY

Encuentre más capturas de pantalla aquí.
Por defecto, el veneno JavaScript de toxssin se extiende automáticamente por los elementos e información de una página web, abusando del objeto XMLHttpRequest para interceptar:
Lo más importante, toxssin:
git clone https://github.com/t3l3machus/toxssin
cd ./toxssin
pip3 install -r requirements.txt
Para iniciar toxssin.py, necesitará proporcionar archivos de certificado ssl y clave privada.
Si no posee un dominio con un certificado de confianza, puede emitir y usar certificados autofirmados con el siguiente comando (aunque esto no lo llevará muy lejos):
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365
Se recomienda encarecidamente ejecutar toxssin con un certificado de confianza (consulte Cómo obtener un Certificado de Confianza en este documento). Dicho esto, puede iniciar el servidor toxssin de la siguiente manera:
python3 toxssin.py -u https://your.domain.com -c /your/certificate.pem -k /your/privkey.pem
Visite la wiki del proyecto para obtener información adicional.
En mi experiencia, hay 4 obstáculos principales cuando se trata de ataques de Cross-Site Scripting que intentan incluir scripts JS externos:
Content-Security-Policy con script-src establecido solo en dominio(s) específico(s) bloqueará la carga de scripts con src de dominio cruzado. Toxssin depende de la función eval() para entregar su veneno, por lo tanto, si el sitio web tiene una CSP y la expresión de origen unsafe-eval no está especificada en la directiva script-src, el ataque probablemente fallará (estoy trabajando en un segundo método de entrega de veneno para solucionar esto).Nota: El error "Mixed Content" puede ocurrir, por supuesto, cuando el sitio web objetivo está alojado a través de http y el payload JavaScript a través de https. Esto limita el alcance de toxssin solo a sitios web https, ya que (por defecto) toxssin se inicia solo con ssl.
Primero, necesita poseer un nombre de dominio.
Puede buscar opciones gratuitas en freenom. Es un poco complicado hacerlo correctamente. Le sugiero que siga este video instructivo. Además, si crea una cuenta por primera vez, asegúrese de que el país que seleccione coincida con su dirección IP o podría obtener errores.
Compre un dominio de un servicio de registro (por ejemplo, https://www.namecheap.com/). La forma más económica es buscar un nombre de dominio de cadena aleatoria (por ejemplo, "fvcm98duf") y verificar los TLD menos populares, como .xyz, ya que probablemente cuesten alrededor de 3$ por año.
Después de comprar un nombre de dominio, puede usar certbot (Let's Encrypt) para obtener un certificado de confianza en 5 minutos o menos:
Consejo: No instale y ejecute certbot por su cuenta, podría obtener errores inesperados. Siga las instrucciones.
2022-06-19 - Se agregó el comando exec del prompt (ahora puede ejecutar scripts JS personalizados contra una sesión).
2022-06-23 - Agregué dos scripts simples y sucios como plantillas para probar el comando exec del prompt. También arreglé el acceso al historial hacia atrás del prompt cmd e hice algunas mejoras.
La idea es hacerlo más preciso, más confiable y expandir sus capacidades. Actualmente, estoy trabajando en mejorar las capturas de archivos.