Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
crawlergo — Un puissant crawler de navigateur pour les scanners de vulnérabilités web | Kitploit
Outils/GitHubGitHub/qianlitp/crawlergo
ReconnaissanceScanners de VulnérabilitésCollecte d'InformationsSécurité WebCrawler
GitHubqianlitp/crawlergo

crawlergo

Un puissant crawler de navigateur pour les scanners de vulnérabilités web

Voir le dépôt
3.0k49318il y a 1 anVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

crawlergo

chromedp BlackHat EU Arsenal

Un puissant crawler de navigateur pour les scanners de vulnérabilités Web

Document anglais | 中文文档

crawlergo est un crawler de navigateur qui utilise le mode chrome headless pour la collecte d'URL. Il accroche les positions clés de la page Web entière avec l'étape de rendu DOM, remplit et soumet automatiquement les formulaires, avec un déclenchement intelligent d'événements JS, et collecte autant d'entrées exposées par le site Web que possible. Le module intégré de déduplication d'URL filtre un grand nombre d'URL pseudo-statiques, maintient une vitesse d'analyse et de crawl rapide pour les grands sites Web, et obtient finalement une collection de résultats de requêtes de haute qualité.

crawlergo prend actuellement en charge les fonctionnalités suivantes :

  • Rendu de l'environnement du navigateur Chrome
  • Remplissage intelligent de formulaires, soumission automatisée
  • Collecte complète des événements DOM avec déclenchement automatisé
  • Déduplication intelligente des URL pour supprimer la plupart des demandes en double
  • Analyse intelligente des pages Web et collecte d'URL, y compris le contenu des fichiers JavaScript, les commentaires de page, les fichiers robots.txt et le Fuzz automatique des chemins courants
  • Prise en charge de la liaison d'hôte, correction et ajout automatiques du Referer
  • Prise en charge du proxy de requête du navigateur
  • Prise en charge de l'envoi des résultats vers les scanners passifs de vulnérabilités Web

Screenshot

Installation

Veuillez lire et confirmer l'avertissement attentivement avant d'installer et d'utiliser.

Construire

  • compilation pour la plateforme actuelle
make build
  • compilation pour toutes les plateformes
make build_all
  1. crawlergo ne dépend que de l'environnement Chrome pour fonctionner, allez sur téléchargement pour la nouvelle version de Chromium.
  2. Allez sur la page de téléchargement pour la dernière version de crawlergo et extrayez-la dans n'importe quel répertoire. Si vous êtes sous Linux ou macOS, veuillez donner à crawlergo les permissions d'exécution (+x).
  3. Ou vous pouvez modifier le code et le construire vous-même.

Si vous utilisez un système Linux et que Chrome vous signale des dépendances manquantes, veuillez consulter la section Dépannage ci-dessous

Démarrage rapide

Go !

En supposant que votre répertoire d'installation de Chromium est /tmp/chromium/, configurez 10 onglets ouverts simultanément et crawlez testphp.vulnweb.com :

bin/crawlergo -c /tmp/chromium/chrome -t 10 http://testphp.vulnweb.com/

Utilisation avec Docker

Vous pouvez également l'utiliser avec Docker sans tracas :

git clone https://github.com/Qianlitp/crawlergo
docker build . -t crawlergo
docker run crawlergo http://testphp.vulnweb.com/

Utilisation d'un proxy

bin/crawlergo -c /tmp/chromium/chrome -t 10 --request-proxy socks5://127.0.0.1:7891 http://testphp.vulnweb.com/

Appeler crawlergo avec Python

Par défaut, crawlergo affiche les résultats directement à l'écran. Nous définissons ensuite le mode de sortie sur json, et le code d'exemple pour l'appeler en utilisant Python est le suivant :

#!/usr/bin/python3
# coding: utf-8

import simplejson
import subprocess


def main():
    target = "http://testphp.vulnweb.com/"
    cmd = ["bin/crawlergo", "-c", "/tmp/chromium/chrome", "-o", "json", target]
    rsp = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    output, error = rsp.communicate()
	#  "--[Mission Complete]--"  is the end-of-task separator string
    result = simplejson.loads(output.decode().split("--[Mission Complete]--")[1])
    req_list = result["req_list"]
    print(req_list[0])


if __name__ == '__main__':
    main()

Résultats du crawl

Lorsque le mode de sortie est défini sur json, le résultat retourné, après désérialisation JSON, contient quatre parties :

  • all_req_list : Toutes les requêtes trouvées lors de cette tâche de crawl, contenant tout type de ressource provenant d'autres domaines.
  • req_list : Retourne les résultats du domaine actuel de cette tâche de crawl, dédupliqués pseudo-statiquement, sans les liens de ressources statiques. C'est un sous-ensemble de all_req_list.
  • all_domain_list : Liste de tous les domaines trouvés.
  • sub_domain_list : Liste des sous-domaines trouvés.

Exemples

crawlergo retourne la requête complète et l'URL, ce qui peut être utilisé de diverses manières :

  • Utilisé en conjonction avec d'autres scanners passifs de vulnérabilités Web

    Tout d'abord, démarrez un scanner passif et définissez l'adresse d'écoute sur : http://127.0.0.1:1234/

    Ensuite, en supposant que crawlergo est sur la même machine que le scanner, démarrez crawlergo et définissez les paramètres :

    --push-to-proxy http://127.0.0.1:1234/

  • Liaison d'hôte (non disponible pour les versions élevées de Chrome) (exemple)

  • Cookies personnalisés (exemple)

  • Nettoyer régulièrement les processus zombies générés par crawlergo (exemple) , contribué par @ring04h

Contournement de la détection headless

crawlergo peut contourner la détection du mode headless par défaut.

https://intoli.com/blog/not-possible-to-block-chrome-headless/chrome-headless-test.html

Dépannage

  • Erreur 'Fetch.enable' introuvable

    Fetch est une fonctionnalité prise en charge par la nouvelle version de Chrome. Si cette erreur se produit, cela signifie que votre version est trop ancienne, veuillez mettre à jour votre version de Chrome.

  • Chrome s'exécute avec des dépendances manquantes telles que xxx.so

    // Ubuntu
    apt-get install -yq --no-install-recommends \
         libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 \
         libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 \
         libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libgbm1 \
         libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 libnss3
         
    // CentOS 7
    sudo yum install pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 libXext.x86_64 libXi.x86_64 \
         libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 libXrandr.x86_64 GConf2.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 \
         ipa-gothic-fonts xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11-utils xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 xorg-x11-fonts-misc -y
    
    sudo yum update nss -y
    
  • Invite d'exécution Délai d'expiration de navigation / navigateur non trouvé / ne connaît pas le chemin d'exécution du navigateur correct

    Assurez-vous que le chemin d'exécution du navigateur est correctement configuré, tapez : chrome://version dans la barre d'adresse, et trouvez le chemin du fichier exécutable :

Télécharger l’outil