
Un'interfaccia a riga di comando per l'exploitation di XSS e un generatore di payload.
toxssin è uno strumento open-source di penetration testing che automatizza il processo di sfruttamento delle vulnerabilità Cross-Site Scripting (XSS). Consiste in un server https che funge da interprete per il traffico generato dal payload JavaScript dannoso che alimenta questo strumento (toxin.js).
Questo progetto è nato come (ed è ancora) un'iniziativa creativa basata sulla ricerca per esplorare la profondità di sfruttabilità che una vulnerabilità XSS può introdurre utilizzando vanilla JavaScript, certificati attendibili e trucchi semplici.
Disclaimer: Usare questo strumento contro applicazioni web che non hai il permesso esplicito di testare è illegale. Sei responsabile di qualsiasi problema tu possa causare usando questo strumento.
https://www.youtube.com/watch?v=Z9I4UJUBrrY

Trova altri screenshot qui.
Di default, il veleno JavaScript di toxssin si diffonde automaticamente attraverso gli elementi e le informazioni di una pagina web, abusando dell'oggetto XMLHttpRequest per intercettare:
Soprattutto, toxssin:
git clone https://github.com/t3l3machus/toxssin
cd ./toxssin
pip3 install -r requirements.txt
Per avviare toxssin.py, dovrai fornire il certificato SSL e i file della chiave privata.
Se non possiedi un dominio con un certificato attendibile, puoi emettere e usare certificati autofirmati con il seguente comando (anche se questo non ti porterà lontano):
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365
È fortemente consigliato eseguire toxssin con un certificato attendibile (vedi Come ottenere un Certificato Valido in questo documento). Detto questo, puoi avviare il server toxssin in questo modo:
python3 toxssin.py -u https://your.domain.com -c /your/certificate.pem -k /your/privkey.pem
Visita la wiki del progetto per ulteriori informazioni.
Nella mia esperienza, ci sono 4 ostacoli principali quando si tratta di attacchi Cross-Site Scripting che tentano di includere script JS esterni:
Content-Security-Policy con script-src impostato solo su domini specifici bloccherà il caricamento di script con src cross-domain. Toxssin si affida alla funzione eval() per distribuire il suo veleno, quindi, se il sito web ha una CSP e l'espressione sorgente unsafe-eval non è specificata nella direttiva script-src, l'attacco molto probabilmente fallirà (sto lavorando a un secondo metodo di distribuzione del veleno per aggirare questo problema).Nota: L'errore "Mixed Content" può ovviamente verificarsi quando il sito web target è ospitato via http e il payload JavaScript via https. Questo limita l'ambito di toxssin ai soli siti web https, poiché (per impostazione predefinita) toxssin viene avviato solo con ssl.
Prima di tutto, devi possedere un nome di dominio.
Puoi cercare opzioni gratuite su freenom. È un po' complicato farlo correttamente. Ti suggerisco di seguire questo video didattico. Inoltre, se crei un account per la prima volta, assicurati che il Paese che selezioni corrisponda al tuo indirizzo IP o potresti ricevere errori.
Acquista un dominio da un servizio di registrazione (ad es. https://www.namecheap.com/). Il modo più economico è cercare un nome di dominio casuale (ad es. "fvcm98duf") e controllare i TLD meno popolari, come .xyz, poiché probabilmente costeranno circa 3$ all'anno.
Dopo aver acquistato un nome di dominio, puoi usare certbot (Let's Encrypt) per ottenere un certificato attendibile in 5 minuti o meno:
Suggerimento: Non installare ed eseguire certbot da solo, potresti ricevere errori imprevisti. Attieniti alle istruzioni.
2022-06-19 - Aggiunto il comando exec del prompt (ora puoi eseguire script JS personalizzati contro una sessione).
2022-06-23 - Ho aggiunto due semplici e rozzi script come modelli per testare il comando exec del prompt. Ho anche corretto l'accesso alla cronologia all'indietro del prompt cmd e apportato alcuni miglioramenti.
L'idea è renderlo più affilato, più affidabile ed espandere le sue capacità. Al momento, sto lavorando per migliorare l'acquisizione dei file.