LinkFinder – Skript zum Suchen von Endpunkten in JavaScript-Dateien
Versteckte Endpunkte der Website können verwendet werden, um Penetrationstests für die Domäne durchzuführen. Die Erkennung dieser Endpunkte ist schwierig, wenn wir einen manuellen Weg verwenden. Wir brauchen also ein automatisiertes Skript, das die Endpunkte von JavaScript-Links erkennen kann. LinkFinder ist ein automatisiertes Tool, das in der Python-Sprache entwickelt wurde und die Endpunkte und ihre Parameter in der Zieldomäne erkennt. Die Ergebnisse werden im .html-Format im Webbrowser angezeigt, daneben können wir die Ergebnisse auch im Terminal selbst anzeigen. Das LinkFinder-Tool ist auf der GitHub-Plattform verfügbar, es ist kostenlos und Open-Source-fähig. Das LinkFinder-Tool unterstützt auch eine gründliche Analyse des Ziels für eine bessere Endpunkterkennung.
Hinweis: Stellen Sie sicher, dass Sie Python auf Ihrem System installiert haben, da dies ein Python-basiertes Tool ist. Klicken Sie hier, um den Installationsprozess zu überprüfen – Python-Installationsschritte unter Linux
Installation des LinkFinder Tools unter Kali Linux OS
Schritt 1 : Verwenden Sie den folgenden Befehl, um das Tool in Ihrem Kali Linux-Betriebssystem zu installieren.
git clone https://github.com/GerbenJavado/LinkFinder.git
Schritt 2 : Verwenden Sie nun den folgenden Befehl, um in das Verzeichnis des Tools zu wechseln. Sie müssen sich in das Verzeichnis bewegen, um das Tool auszuführen.
cd LinkFinder
Schritt 3 : Sie befinden sich im Verzeichnis des LinkFinders. Jetzt müssen Sie eine Abhängigkeit des LinkFinders mit dem folgenden Befehl installieren.
sudo pip3 install -r requirements.txt
Schritt 4 : Führen Sie die Datei setup.py aus, um die Installation abzuschließen.
sudo python3 setup.py install
Schritt 5 : Alle Abhängigkeiten wurden in Ihrem Kali Linux-Betriebssystem installiert. Verwenden Sie nun den folgenden Befehl, um das Tool auszuführen und den Hilfeabschnitt zu überprüfen.
python3 linkfinder.py -h
Arbeiten mit dem LinkFinder Tool unter Kali Linux OS
Beispiel 1: Die einfachste Verwendung, um Endpunkte in einer Online-JavaScript-Datei zu finden und die HTML-Ergebnisse in results.html auszugeben
python3 linkfinder.py -i https://geeksforgeeks.org -o results.html
Wir zeigen die Ergebnisse an, die in der Datei im .html-Format gespeichert wurden.
Alle hervorgehobenen URLs sind die Endpunkte von JavaScript-Dateien.
Beispiel 2: CLI/STDOUT-Ausgabe (verwendet kein jbeautifier, was es sehr schnell macht)
python3 linkfinder.py -i https://geeksforgeeks.org -o cli
In diesem Beispiel zeigen wir die Ergebnisse oder Endpunkte im Terminal selbst an.
Beispiel 3: Analyse einer gesamten Domain und ihrer JS-Dateien
python3 linkfinder.py -i https://geeksforgeeks.org -d
In diesem Beispiel führen wir einen Tiefenscan auf https://geeksforgeeks.org durch
Beispiel 4: Burp-Eingabe (wählen Sie im Ziel die Dateien aus, die Sie speichern möchten, klicken Sie mit der rechten Maustaste, speichern Sie ausgewählte Elemente, füttern Sie diese Datei als Eingabe)
python3 linkfinder.py -i burp.txt -b
In diesem Beispiel übergeben wir Eingaben aus der Datei burp.txt an das Tool.
Wir haben die Ergebnisse und die Endpunkte der JS-Dateien.
Beispiel 5: Auflisten eines ganzen Ordners für JavaScript-Dateien, während nach Endpunkten gesucht wird, die mit /api/ beginnen, und schließlich die Ergebnisse in results.html gespeichert werden
python3 linkfinder.py -i 'Desktop/*.js' -r ^/api/ -o results.html
In diesem Beispiel suchen wir nach .js-Dateien aus dem Desktop-Verzeichnis und suchen nach dem Endpunkt /api/.
Beispiel 6: Ignoriere bestimmte js-Dateien (wie externe Bibliotheken), die von -g –ignore bereitgestellt werden
python3 SecretFinder.py -i https://geeksforgeeks.org/ -e -g 'jquery;bootstrap;api.google.com'
In diesem Beispiel ignorieren wir bestimmte JS-Dateien, die nicht sehr wichtig sind.
Beispiel 7: Nur bestimmte js-Dateien verarbeiten, die von -n –only bereitgestellt werden
python3 SecretFinder.py -i https://geeksforgeeks.org/ -e -n 'd3i4yxtzktqr9n.cloudfront.net;www.myexternaljs.com'
In diesem Beispiel schließen wir wichtige js-Dateien für die Suche ein.
Beispiel 8: Verwenden Sie Ihre Regex
python3 SecretFinder.py -i https://example.com/1.js -o cli -r 'apikey=my.api.key[a-zA-Z]+'
In diesem Beispiel geben wir unseren eigenen benutzerdefinierten Regex für die Suche an.
Beispiel 9: Weitere Optionen: Header, Proxy und Cookies hinzufügen
python3 SecretFinder.py -i https://example.com/ -e -o cli -c 'mysessionid=111234' -H 'x-header:value1\nx-header2:value2' -p 127.0.0.1:8080 -r 'apikey=my.api.key[a-zA-Z]+'
In diesem Beispiel fügen wir Header, Proxy und Cookies hinzu, um die Identität zu verbergen.
Beispiel 10: Öffnen Sie SecretFinder.py und fügen Sie Ihre Regex hinzu
In diesem Beispiel fügen wir die Regex direkt in die Python-Hauptdatei ein.