
Un script Python qui trouve des points de terminaison dans des fichiers JavaScript.
LinkFinder est un script Python conçu pour découvrir les points de terminaison et leurs paramètres dans les fichiers JavaScript. Ainsi, les testeurs d'intrusion et les chasseurs de bugs peuvent rassembler de nouveaux points de terminaison cachés sur les sites web qu'ils testent, ce qui offre un nouveau terrain de test, potentiellement porteur de nouvelles vulnérabilités. Il fonctionne en utilisant jsbeautifier pour Python combiné à une expression régulière assez grande. L'expression régulière se compose de quatre petites expressions régulières. Celles-ci sont responsables de la recherche de :
https://example.com/*)/\* ou ../*)text/test.php)test.php)La sortie est donnée en HTML ou en texte brut. @karel_origin a écrit une extension Chrome pour LinkFinder qui peut être trouvée ici.

LinkFinder prend en charge Python 3.
$ git clone https://github.com/GerbenJavado/LinkFinder.git
$ cd LinkFinder
$ python setup.py install
LinkFinder dépend des modules Python argparse et jsbeautifier. Ces dépendances peuvent toutes être installées en utilisant pip.
$ pip3 install -r requirements.txt
python linkfinder.py -i https://example.com/1.js -o results.html
python linkfinder.py -i https://example.com/1.js -o cli
python linkfinder.py -i https://example.com -d
Save selected items, et fournissez ce fichier en entrée) :python linkfinder.py -i burlfile -b
python linkfinder.py -i 'Desktop/*.js' -r ^/api/ -o results.html
Construire l'image Docker :
docker build -t linkfinder
Exécuter avec Docker
docker run --rm -v $(pwd):/linkfinder/output linkfinder -i http://example.com/1.js -o /linkfinder/output/output.html
Assurez-vous d'utiliser le chemin /linkfinder/output dans votre chemin de sortie, sinon la sortie sera perdue à la sortie du conteneur.
pytest test_parser.py
| Forme courte | Forme longue | Description |
|---|
| -i | --input | Entrée : une URL, un fichier ou un dossier. Pour les dossiers, un joker peut être utilisé (par ex. '/*.js'). |
| -o | --output | "cli" pour afficher sur STDOUT, sinon l'emplacement où enregistrer le fichier HTML. Par défaut : output.html |
| -r | --regex | Regex pour filtrer les points de terminaison trouvés (par ex. ^/api/) |
| -d | --domain | Option à utiliser lors de l'analyse d'un domaine entier. Énumère tous les fichiers JS trouvés. |
| -b | --burp | Option à utiliser lors de l'entrée d'un fichier Burp 'Save selected' contenant plusieurs fichiers JS |
| -c | --cookies | Ajouter des cookies à la requête |
| -h | --help | Afficher le message d'aide et quitter |