
jsluice++ ist eine Burp-Suite-Erweiterung, die für das passive und aktive Scannen von JavaScript-Datenverkehr mithilfe des CLI-Tools jsluice entwickelt wurde.
jsluice++ ist eine Burp-Suite-Erweiterung für das passive und aktive Scannen von JavaScript-Datenverkehr mit dem CLI-Tool jsluice.
Die Erweiterung nutzt die Fähigkeiten von jsluice, um URLs, Pfade und Geheimnisse aus statischen JavaScript-Dateien zu extrahieren, und integriert sie in Burp Suite. So können Sie JavaScript-Datenverkehr einfach aus der Sitemap oder dem Proxy von Burp Suite scannen. Zudem bietet sie eine benutzerfreundliche Oberfläche zur Datenansicht und eine Reihe weiterer nützlicher Funktionen.
Anforderungen:
Falls dies nicht Ihr erstes Mal ist, eine Jython-Erweiterung zu installieren, können Sie zu Schritt 3 springen.
go install github.com/BishopFox/jsluice/cmd/jsluice@latest (stellen Sie sicher, dass sich die jsluice-Binärdatei in Ihrem $PATH befindet, da die Erweiterung sonst nicht funktioniert).Die Erweiterung fügt dem Kontextmenü von Burp Suite ein Element hinzu, mit dem Sie Antworten aus dem Sitemap-Tab von Burp Suite einfach verarbeiten können.
Klicken Sie dazu einfach mit der rechten Maustaste auf einen beliebigen Host im Sitemap-Baum oder auf ein beliebiges Element in der Sitemap-Tabelle und wählen Sie Extensions->jsluice++->Process selected item(s) im Kontextmenü von Burp Suite.
Wenn Elemente aus dem Sitemap-Baum verarbeitet werden, ruft die Erweiterung die Sitemap jedes ausgewählten Elements ab (mehrere Hosts können verarbeitet werden).

Standard: Aus
Wenn der passive Scan aktiviert ist, registriert die Erweiterung einen HTTP-Handler und verarbeitet Antworten aus dem Datenverkehr, der durch den Proxy von Burp Suite fließt (es wird empfohlen, die Funktion "Nur in-scope" zu verwenden, wenn der passive Scan aktiviert ist, um Rauschen zu reduzieren).
Die Erweiterung verarbeitet jede URL mit der Dateiendung .js oder einem JavaScript-MIME-Typ und einem Erfolgsstatuscode (2xx) im urls-Modus von jsluice.
Die verarbeitete JavaScript-Datei wird vorübergehend lokal im Verzeichnis ".jsluicepp" gespeichert und nach der Verarbeitung durch jsluice wieder entfernt.
Wenn jsluice Daten zurückgibt, wird der zur URL gehörende Host zur Host-Liste hinzugefügt. Um die Ergebnisse von jsluice anzuzeigen, wählen Sie einfach den Host und die gewünschte Datei aus (mehrere Dateien können ausgewählt werden).
Hinweis: Dieselbe URL (ohne GET-Parameter) wird nach dem Neuladen der Erweiterung nicht mehr als einmal verarbeitet. Dies gilt nicht für überwachte URLs.
Jede Datei in der Dateiliste kann von der Erweiterung überwacht werden. Klicken Sie dazu einfach mit der rechten Maustaste auf die Datei und wählen Sie im Popup-Menü die Option "URL überwachen" (wiederholen Sie diesen Schritt, wenn Sie die Überwachung der URL beenden möchten).
Wenn eine neue URL überwacht wird, werden ihre Details in .jsluicepp/monitored_urls.txt gespeichert und eine Kopie der Ausgabe von jsluice wird lokal unter .jsluicepp/monitored_files/{host}_{filename_hash} gespeichert (Geheimnisse ausgenommen).
Überwachte Dateien werden in der Dateiliste grün eingefärbt.
Die Häufigkeit, mit der Anfragen an die überwachten URLs gesendet werden, wird durch den in der Auswahl für das Überwachungsintervall gewählten Wert bestimmt.
Optionen für das Überwachungsintervall sind:
Wenn jsluice Daten zurückgibt, die sich von der lokal gespeicherten Kopie unterscheiden, werden Sie mit dem folgenden Popup-Dialog benachrichtigt:

Die lokal gespeicherte Kopie der Datei wird nach .jsluicepp/monitored_files/{host}_{filename_hash}.old verschoben und eine neue Kopie der neuen Datei wird gespeichert.
Wenn Sie die überwachte Datei in der Erweiterung auswählen, werden neue/geänderte Zeilen grün eingefärbt und frühere Versionen von geänderten/gelöschten Zeilen rot, Beispiel:

Wenn eine überwachte URL mit einem Nicht-Erfolgsstatuscode (2xx) antwortet oder jsluice keine Ausgabe zurückgibt, werden Sie in einem Popup-Dialog gefragt, ob Sie die Überwachung der URL beenden möchten. Wenn "Ja" ausgewählt wird, werden alle lokalen Kopien der Datei entfernt.
