
Eine XSS-Exploitation-Kommandozeilen-Schnittstelle und ein Payload-Generator.
toxssin ist ein Open-Source-Penetrationstest-Tool, das den Prozess der Ausnutzung von Cross-Site-Scripting (XSS)-Schwachstellen automatisiert. Es besteht aus einem HTTPS-Server, der als Interpreter für den Verkehr fungiert, der durch die bösartige JavaScript-Nutzlast erzeugt wird, die dieses Tool antreibt (toxin.js).
Dieses Projekt begann als (und ist immer noch) ein forschungsbasiertes kreatives Unterfangen, um die mögliche Ausnutzungstiefe zu erkunden, die eine XSS-Schwachstelle durch die Verwendung von Vanilla-JavaScript, vertrauenswürdigen Zertifikaten und billigen Tricks einführen kann.
Haftungsausschluss: Die Verwendung dieses Tools gegen Web-Apps, für die Sie keine ausdrückliche Erlaubnis zum Testen haben, ist illegal. Sie sind für alle Probleme verantwortlich, die Sie durch die Verwendung dieses Tools verursachen.
https://www.youtube.com/watch?v=Z9I4UJUBrrY

Weitere Screenshots finden Sie hier.
Standardmäßig verbreitet sich das JavaScript-Gift von toxssin automatisch über die Elemente und Informationen einer Webseite und missbraucht das XMLHttpRequest-Objekt, um abzufangen:
Am wichtigsten ist, dass toxssin:
git clone https://github.com/t3l3machus/toxssin
cd ./toxssin
pip3 install -r requirements.txt
Um toxssin.py zu starten, müssen Sie SSL-Zertifikats- und privaten Schlüsseldateien bereitstellen.
Wenn Sie keine Domain mit einem vertrauenswürdigen Zertifikat besitzen, können Sie selbstsignierte Zertifikate mit dem folgenden Befehl ausstellen und verwenden (obwohl Sie damit nicht weit kommen werden):
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365
Es wird dringend empfohlen, toxssin mit einem vertrauenswürdigen Zertifikat auszuführen (siehe So erhalten Sie ein gültiges Zertifikat in diesem Dokument). Das gesagt, können Sie den toxssin-Server wie folgt starten:
python3 toxssin.py -u https://your.domain.com -c /your/certificate.pem -k /your/privkey.pem
Besuchen Sie das Wiki des Projekts für weitere Informationen.
Meiner Erfahrung nach gibt es 4 große Hindernisse, wenn es um Cross-Site-Scripting-Angriffe geht, die versuchen, externe JS-Skripte einzubinden:
Content-Security-Policy-Header mit script-src, der nur auf bestimmte Domains gesetzt ist, blockiert Skripte mit domänenübergreifenden src-Elementen vom Laden. Toxssin verwendet die eval()-Funktion, um sein Gift zu verabreichen. Wenn die Website also eine CSP hat und der Quellausdruck unsafe-eval nicht in der script-src-Direktive angegeben ist, wird der Angriff höchstwahrscheinlich fehlschlagen (ich arbeite an einer zweiten Methode zur Giftverabreichung, um dies zu umgehen).Hinweis: Der Fehler „Mixed Content“ kann natürlich auftreten, wenn die Zielwebsite über http und die JavaScript-Nutzlast über https gehostet wird. Dies beschränkt den Anwendungsbereich von toxssin auf https-Only-Websites, da toxssin standardmäßig nur mit ssl gestartet wird.
Zuerst müssen Sie einen Domainnamen besitzen.
Sie können auf freenom nach kostenlosen Optionen suchen. Es ist ein bisschen knifflig, es richtig zu machen. Ich empfehle Ihnen, diesem Anleitungs-Video zu folgen. Wenn Sie zum ersten Mal ein Konto erstellen, stellen Sie außerdem sicher, dass das von Ihnen ausgewählte Land mit Ihrer IP-Adresse übereinstimmt, da sonst Fehler auftreten können.
Kaufen Sie eine Domain bei einem Registrar-Service (z. B. https://www.namecheap.com/). Der wirtschaftlichste Weg ist, nach einem zufälligen String-Domainnamen zu suchen (z. B. "fvcm98duf") und die weniger beliebten TLDs wie .xyz zu überprüfen, da diese wahrscheinlich etwa 3 $ pro Jahr kosten.
Nachdem Sie einen Domainnamen gekauft haben, können Sie certbot (Let's Encrypt) verwenden, um in 5 Minuten oder weniger ein vertrauenswürdiges Zertifikat zu erhalten:
Tipp: Installieren und führen Sie certbot nicht selbst aus, da Sie sonst unerwartete Fehler erhalten könnten. Halten Sie sich an die Anweisungen.
2022-06-19 - Der Befehl exec für die Eingabeaufforderung hinzugefügt (Sie können jetzt benutzerdefinierte JS-Skripte gegen eine Sitzung ausführen).
2022-06-22 - Ich habe zwei einfache, schmutzige Skripte als Vorlagen zum Testen des exec-Befehls hinzugefügt. Außerdem habe ich den Rückwärtszugriff auf den Befehlsverlauf repariert und einige Verbesserungen vorgenommen.
Die Idee ist, es schärfer, zuverlässiger zu machen und seine Fähigkeiten zu erweitern. Derzeit arbeite ich an der Verbesserung von Dateierfassungen.