
Crawler web simple et rapide conçu pour la découverte aisée et rapide des points de terminaison et des actifs au sein d'une application web.
Robot d'exploration web rapide en Go pour collecter les URLs et les emplacements des fichiers JavaScript. Il s'agit essentiellement d'une implémentation simple de l'excellente bibliothèque Gocolly.
URL unique :
echo https://google.com | hakrawler
Plusieurs URLs :
cat urls.txt | hakrawler
Délai d'attente pour chaque ligne de l'entrée standard après 5 secondes :
cat urls.txt | hakrawler -timeout 5
Envoyer toutes les requêtes via un proxy :
cat urls.txt | hakrawler -proxy http://localhost:8080
Inclure les sous-domaines :
echo https://google.com | hakrawler -subs
Note : un problème courant est que l'outil ne renvoie aucune URL. Cela se produit généralement lorsqu'un domaine est spécifié (https://example.com), mais qu'il redirige vers un sous-domaine (https://www.example.com). Le sous-domaine n'est pas inclus dans le périmètre, donc aucune URL n'est affichée. Pour contourner ce problème, spécifiez l'URL finale dans la chaîne de redirection ou utilisez l'option
-subspour inclure les sous-domaines.
Obtenez tous les sous-domaines de google, trouvez ceux qui répondent à http(s), explorez-les tous.
echo google.com | haktrails subdomains | httpx | hakrawler
Tout d'abord, vous devez installer go.
Ensuite, exécutez cette commande pour télécharger et compiler hakrawler :
go install github.com/hakluke/hakrawler@latest
Vous pouvez maintenant exécuter ~/go/bin/hakrawler. Si vous souhaitez exécuter simplement hakrawler sans le chemin complet, vous devez export PATH="~/go/bin/:$PATH". Vous pouvez également ajouter cette ligne à votre fichier ~/.bashrc si vous voulez que cela persiste.
echo https://www.google.com | docker run --rm -i hakluke/hakrawler:v2 -subs
Il est beaucoup plus simple d'utiliser la méthode dockerhub ci-dessus, mais si vous préférez l'exécuter localement :
git clone https://github.com/hakluke/hakrawler
cd hakrawler
sudo docker build -t hakluke/hakrawler .
sudo docker run --rm -i hakluke/hakrawler --help
Remarque : cela installera une ancienne version de hakrawler sans toutes les fonctionnalités, et elle peut être boguée. Je recommande d'utiliser l'une des autres méthodes.
sudo apt install hakrawler
Ensuite, pour exécuter hakrawler :
echo https://www.google.com | docker run --rm -i hakluke/hakrawler -subs
Usage of hakrawler:
-d int
Profondeur d'exploration. (par défaut 2)
-dr
Désactiver le suivi des redirections HTTP.
-h string
En-têtes personnalisés séparés par deux points-virgules. Ex : -h "Cookie: foo=bar;;Referer: http://example.com/"
-i Explorer uniquement à l'intérieur du chemin
-insecure
Désactiver la vérification TLS.
-json
Sortie au format JSON.
-proxy string
URL du proxy. Ex : -proxy http://127.0.0.1:8080
-s Afficher la source de l'URL en fonction de l'endroit où elle a été trouvée. Ex : href, form, script, etc.
-size int
Limite de taille de page, en Ko. (par défaut -1)
-subs
Inclure les sous-domaines pour l'exploration.
-t int
Nombre de threads à utiliser. (par défaut 8)
-timeout int
Temps maximum pour explorer chaque URL depuis l'entrée standard, en secondes. (par défaut -1)
-u Afficher uniquement les URLs uniques.
-w Afficher à quel lien l'URL est trouvée.