
Uma interface de linha de comando para exploração de XSS e gerador de payloads.
O toxssin é uma ferramenta de teste de penetração open-source que automatiza o processo de exploração de vulnerabilidades de Cross-Site Scripting (XSS). Consiste em um servidor https que atua como intérprete para o tráfego gerado pelo payload JavaScript malicioso que alimenta esta ferramenta (toxin.js).
Este projeto começou como (e ainda é) um esforço criativo baseado em pesquisa para explorar a profundidade de exploração que uma vulnerabilidade XSS pode introduzir usando JavaScript vanilla, certificados confiáveis e truques baratos.
Aviso: Usar esta ferramenta contra aplicações web para as quais você não tem permissão explícita para testar é ilegal. Você é responsável por qualquer problema que possa causar ao usar esta ferramenta.
https://www.youtube.com/watch?v=Z9I4UJUBrrY

Encontre mais capturas de tela aqui.
Por padrão, o veneno JavaScript do toxssin se espalha automaticamente pelos elementos e informações de uma página web, abusando do objeto XMLHttpRequest para interceptar:
Mais importante, o toxssin:
git clone https://github.com/t3l3machus/toxssin
cd ./toxssin
pip3 install -r requirements.txt
Para iniciar o toxssin.py, você precisará fornecer arquivos de certificado SSL e chave privada.
Se você não possui um domínio com um certificado confiável, pode emitir e usar certificados autoassinados com o seguinte comando (embora isso não te leve longe):
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365
É fortemente recomendado executar o toxssin com um certificado confiável (veja Como obter um Certificado Válido neste documento). Dito isso, você pode iniciar o servidor toxssin assim:
python3 toxssin.py -u https://your.domain.com -c /your/certificate.pem -k /your/privkey.pem
Visite a wiki do projeto para informações adicionais.
Na minha experiência, existem 4 grandes obstáculos quando se trata de ataques de Cross-Site Scripting que tentam incluir scripts JS externos:
Content-Security-Policy com script-src definido apenas para domínios específicos bloqueará o carregamento de scripts com src de domínios cruzados. O Toxssin depende da função eval() para entregar seu veneno, então, se o site tiver uma CSP e a expressão de origem unsafe-eval não estiver especificada na diretiva script-src, o ataque provavelmente falhará (estou trabalhando em um segundo método de entrega de veneno para contornar isso).Nota: O erro "Mixed Content" pode, obviamente, ocorrer quando o site alvo é hospedado via http e o payload JavaScript via https. Isso limita o escopo do toxssin a sites https apenas, pois (por padrão) o toxssin é iniciado apenas com ssl.
Primeiro, você precisa ter um nome de domínio.
Você pode pesquisar opções gratuitas no freenom. É um pouco complicado fazê-lo corretamente. Sugiro seguir este vídeo instrutivo. Além disso, se você criar uma conta pela primeira vez, certifique-se de que o País selecionado corresponda ao seu endereço IP, caso contrário, poderá receber erros.
Compre um domínio de um serviço de registro (ex.: https://www.namecheap.com/). A maneira mais econômica é pesquisar por um nome de domínio aleatório (ex.: "fvcm98duf") e verificar os TLDs menos populares, como .xyz, pois provavelmente custarão cerca de $3 por ano.
Depois de adquirir um nome de domínio, você pode usar o certbot (Let's Encrypt) para obter um certificado confiável em 5 minutos ou menos:
Dica: Não instale e execute o certbot por conta própria, você pode obter erros inesperados. Siga as instruções.
2022-06-19 - Adicionado o comando exec no prompt (agora você pode executar scripts JS personalizados contra uma sessão).
2022-06-23 - Adicionei dois scripts simples e sujos como modelos para testar o comando exec no prompt. Também corrigi o acesso ao histórico reverso do prompt cmd e fiz algumas melhorias.
A ideia é torná-lo mais afiado, mais confiável e expandir suas capacidades. Atualmente, estou trabalhando em melhorias na captura de arquivos.