Dies ist ein leistungsstarkes Tool zum Extrahieren von JavaScript-Quellen aus URLs und Webseiten/HTTP-Antworten. Es bietet eine Befehlszeilenschnittstelle (CLI) für die einfache URL-Verarbeitung und eine Paketschnittstelle für benutzerdefinierte Integrationen und ist damit ideal für Pentester, Bug-Bounty-Jäger und Entwickler, die JS-Quellen effizient extrahieren müssen.
Installation
CLI-Nutzung
Optionen
Beispiele
Paketnutzung
Importieren des Extraktors
Beispiel
Versionsinformationen
Mitwirken
Lizenz
Um getJS
zu installieren, verwenden Sie den folgenden Befehl:
go install github.com/003random/getJS/v2@latest
getJS
bietet mehrere Befehlszeilenoptionen zum Anpassen seines Verhaltens:
-url string
: Die URL, aus der JavaScript-Quellen extrahiert werden sollen.
-input string
: Optionale URL-Eingabedateien. Jede URL sollte in einer neuen Zeile im Nur-Text-Format stehen. Kann mehrfach verwendet werden.
-output string
: Optionale Ausgabedatei, in die die Ergebnisse geschrieben werden. Kann mehrfach verwendet werden.
-complete
: Relative URLs durch Hinzufügen des aktuellen Ursprungs vervollständigen/automatisch ausfüllen.
-resolve
: Die JavaScript-Dateien auflösen. Kann nur in Kombination mit --complete
verwendet werden.
-threads int
: Die Anzahl der zu erzeugenden Verarbeitungsthreads (Standard: 2).
-verbose
: Ausführliche Laufzeitinformationen und Fehler ausgeben.
-method string
: Die Anforderungsmethode, die zum Abrufen von Remote-Inhalten verwendet wird (Standard: „GET“).
-header string
: Optionale Anforderungsheader zum Hinzufügen zu den Anforderungen. Kann mehrfach verwendet werden.
-timeout duration
: Das Anforderungs-Timeout beim Abrufen von Remote-Inhalten (Standard: 5 s).
getJS -url https://destroy.ai
oder
curl https://destroy.ai | getJS
getJS -url "http://example.com" -header "User-Agent: foo bar" -method POST --timeout=15s
getJS -input foo.txt -input bar.txt
getJS -url "http://example.com" -output results.txt
Um getJS
als Paket zu verwenden, müssen Sie das extractor
importieren und seine Funktionen direkt nutzen.
Paket mainimport ("fmt""log""net/http""net/url""github.com/003random/getJS/extractor")func main() {baseURL, err := url.Parse("https:// google.com")if (err != nil) {log.Fatalf("Fehler beim Parsen der Basis-URL: %v", err) }resp, err := extractor.FetchResponse(baseURL.String(), "GET", http.Header{})if (err != nil) {log.Fatalf("Fehler beim Abrufen der Antwort: %v", err) }defer resp.Body.Close()// Benutzerdefinierte Extraktionspunkte (optional).extractionPoints := map[string][]string{"script": {"src", "data-src"},"a": { "href"}, }sources, err := extractor.ExtractSources(resp.Body, extractPoints)if (err != nil) {log.Fatalf("Fehler beim Extrahieren von Quellen: %v", err) }// Filtern und Erweitern extrahierter Quellen.filtered, err := extractor.Filter(sources, extractor.WithComplete(baseURL), extractor.WithResolve())if (err != nil) {log.Fatalf("Fehler beim Filtern von Quellen: %v", Fehler) }für Quelle := Bereich gefiltert {fmt.Println(source.String()) } }
Dies ist die v2-Version von getJS
. Die Originalversion finden Sie unter dem Tag v1.
Beiträge sind willkommen! Bitte öffnen Sie ein Problem oder senden Sie eine Pull-Anfrage für Fehler, Funktionswünsche oder Verbesserungen.
Dieses Projekt ist unter der MIT-Lizenz lizenziert. Einzelheiten finden Sie in der LICENSE-Datei.