
Eine verbesserte Version meines xssfinder-Tools - scannt nach verschiedenen Arten von XSS auf einer Liste von URLs.
Dies ist die erweiterte Version basierend auf der ursprünglichen Idee, die bereits als „xssfinder“ veröffentlicht wurde. Diese private Version ermöglicht einem Angreifer, nicht nur GET-, sondern auch POST-Anfragen durchzuführen. Zusätzlich ist es möglich, jede Anfrage durch Burp oder einen anderen Tunnel zu proxen.
Benennen Sie die example.app-settings.conf in app-settings.conf um und passen Sie die Einstellungen an. Es sollte sofort funktionieren, aber abhängig vom Ziel empfehle ich, die Chunk-Größen anzupassen.
Dieses Tool erwartet keine Argumente über die CLI, geben Sie einfach ein:
python3 extended-xss-search.py
Es ist möglich, viele Optionen und Einstellungen zu setzen, daher hier einige Erklärungen.
Die Hauptkonfigurationsdatei ist die „app-settings.conf“; alles muss in dieser Datei erledigt werden! Daneben gibt es einige andere Dateien, die das Setzen komplexerer Daten wie Header, URLs und Cookies ermöglichen.
config/cookie-jar.txt
Verwenden Sie diese Datei, um einen Cookie-String hinzuzufügen. Ich kopiere normalerweise den, den Sie in jeder Burp-Anfrage sehen können. Bitte kopieren Sie nur den Wert des „Cookie:“-Headers. Ein Beispieleingabe befindet sich in der Standarddatei.
config/http-headers.txt
Diese Datei definiert die HTTP-Header, die zur Anfrage hinzugefügt und manipuliert werden (Payload wird zu jedem hinzugefügt). Die wichtigsten sind bereits in der Datei. Aber fügen Sie gerne weitere hinzu.
config/parameters.txt
Das Tool hat die Möglichkeit, GET- und POST-Parameter zu brute-forcen. In diesem Fall werden diese Parameter (plus die in der Query-String) verwendet. Jeder Parameter erhält die Payload als Wert. Die wichtigsten sind bereits in dieser Datei.
config/urls-to-test.txt
Das ist die Datei, die Sie benötigen! Bitte fügen Sie hier Ihre zu scannenden Links hinzu. Die folgenden Formate sind erlaubt:
Wenn der letzte Fall erkannt wird, wird ein „http://“ vorangestellt. Dieses Tool ist dafür gedacht, mit einer guten Liste von URLs zu arbeiten. Eine gute Möglichkeit, eine zu erhalten, ist einfach der Export über Burp. Dann haben Sie eine gültige Liste von URLs. Alles, was Sie tun müssen, ist Ihre Cookies hinzuzufügen.
logs/
Dies ist der Log-Ordner, in dem alles protokolliert wird!
Die app-settings.conf definiert den Programmablauf. Sie ist die wichtigste Datei; Sie können dort verschiedene Module aktivieren/deaktivieren.
Grundlegende Einstellungen
HTTPTimeout
Manche Anfragen können lange dauern. Hier können Sie die maximale Ausführungszeit einer Anfrage definieren. Ich empfehle Werte zwischen 2 und 6 Sekunden.
MaxThreads
Je mehr Threads, desto schneller ist das Skript – aber da wir mit vielen Verbindungen umgehen, halte ich es auf meinem persönlichen Rechner normalerweise unter 10 und auf meinem VPS bei etwa 30.
Angriffstypen
OnlyBaseRequest
Wenn dies auf „true“ gesetzt ist, werden nur „Basisanfragen“ durchgeführt – das bedeutet, die URL-Liste wird nur gecrawlt und interessante Parameter extrahiert. Sie könnten das verwenden, um Ihre Burp-Sitemap schnell zu füllen.
UsePost
Sie können POST-Anfragen überspringen, indem Sie dies auf „false“ setzen.
UseGet
Dies ist ähnlich – überspringt GET-Anfragen, wenn auf „false“ gesetzt.
Angriffstyp-Einstellungen
GetChunkSize
Wie viele GET-Parameter sollen mit einer Anfrage getestet werden?
PostChunkSize
Wie viele POST-Parameter sollen mit einer Anfrage getestet werden?
Tunneling
Es ist auch möglich, einen Tunnel zu verwenden, z. B. „127.0.0.1:8080“ (Burp Proxy), um den gesamten Traffic innerhalb von Burp zu überwachen.
Active
Wenn dies auf „true“ gesetzt ist, wird das Skript gezwungen, eine getunnelte Verbindung zu verwenden.
Tunnel
Setzen Sie hier Ihren Proxy-Server „ip:port“.
Das Ergebnis ist folgendes, wenn Sie Burp öffnen, können Sie Ihren HTTP-Verlauf ansehen:



Bitte erstellen Sie einfach ein Issue und markieren Sie es als Feature-Anfrage.
Gefällt Ihnen dieses Tool? Hat es Ihnen geholfen, eine Prämie zu erhalten? Möchten Sie etwas zurückgeben/mich unterstützen? Warum nicht!