
Outil de découverte de contenu HTTP asynchrone avec auto-étalonnage, analyse récursive et génération de rapports pour l'énumération de répertoires et fichiers Web cachés.
Un autre outil de découverte de contenu écrit en Python.
Ce qui rend cet outil différent des autres :
Des exemples de rapports se trouvent ici
https://morph3.blog/crawpy/example.html
https://morph3.blog/crawpy/example.txt
git clone https://github.com/morph3/crawpy
pip3 install -r requirements.txt
or
python3 -m pip install -r requirements.txt
morph3 ➜ crawpy/ [main✗] λ python3 crawpy.py --help
usage: crawpy.py [-h] [-u URL] [-w WORDLIST] [-t THREADS] [-rc RECURSIVE_CODES] [-rp RECURSIVE_PATHS] [-rd RECURSIVE_DEPTH] [-e EXTENSIONS] [-to TIMEOUT] [-follow] [-ac] [-fc FILTER_CODE] [-fs FILTER_SIZE] [-fw FILTER_WORD] [-fl FILTER_LINE] [-k] [-m MAX_RETRY]
[-H HEADERS] [-o OUTPUT_FILE] [-gr] [-l URL_LIST] [-lt LIST_THREADS] [-s] [-X HTTP_METHOD] [-p PROXY_SERVER]
arguments optionnels :
-h, --help afficher ce message d'aide et quitter
-u URL, --url URL URL
-w WORDLIST, --wordlist WORDLIST
Wordlist
-t THREADS, --threads THREADS
Taille du pool de sémaphores
-rc RECURSIVE_CODES, --recursive-codes RECURSIVE_CODES
Codes récursifs à scanner récursivement Exemple : 301,302,307
-rp RECURSIVE_PATHS, --recursive-paths RECURSIVE_PATHS
Chemins récursifs à scanner récursivement, notez que seuls les chemins récursifs donnés seront scannés initialement Exemple : admin,support,js,backup
-rd RECURSIVE_DEPTH, --recursive-depth RECURSIVE_DEPTH
Profondeur de scan récursif Exemple : 2
-e EXTENSIONS, --extension EXTENSIONS
Ajouter des extensions à la fin. Séparez-les par des virgules Exemple : -x .php,.html,.txt
-to TIMEOUT, --timeout TIMEOUT
Timeouts, je vous suggère de ne pas utiliser cette option car elle produit actuellement beaucoup d'erreurs que je n'ai pas pu résoudre
-follow, --follow-redirects
Suivre les redirections
-ac, --auto-calibrate
Calibrer automatiquement les filtres
-fc FILTER_CODE, --filter-code FILTER_CODE
Filtrer par code de statut
-fs FILTER_SIZE, --filter-size FILTER_SIZE
Filtrer par taille
-fw FILTER_WORD, --filter-word FILTER_WORD
Filtrer par nombre de mots
-fl FILTER_LINE, --filter-line FILTER_LINE
Filtrer par nombre de lignes
-k, --ignore-ssl Ignorer les certificats SSL non fiables
-m MAX_RETRY, --max-retry MAX_RETRY
Nombre maximal de tentatives
-H HEADERS, --headers HEADERS
En-têtes, vous pouvez définir le drapeau plusieurs fois. Par exemple : -H "X-Forwarded-For: 127.0.0.1", -H "Host: foobar"
-o OUTPUT_FILE, --output OUTPUT_FILE
Dossier de sortie
-gr, --generate-report
Si vous souhaitez que crawpy génère un rapport, le chemin par défaut est crawpy/reports/<url>.txt
-l URL_LIST, --list URL_LIST
Prend une liste d'URLs en entrée et exécute crawpy via multiprocessing -l ./urls.txt
-lt LIST_THREADS, --list-threads LIST_THREADS
Nombre de threads pour exécuter crawpy en parallèle avec une liste d'URLs
-s, --silent Empêcher crawpy de produire des sorties
-X HTTP_METHOD, --http-method HTTP_METHOD
Méthode de requête HTTP
-p PROXY_SERVER, --proxy PROXY_SERVER
Serveur proxy, ex : 'http://127.0.0.1:8080'
python3 crawpy.py -u https://facebook.com/FUZZ -w ./common.txt -k -ac -e .php,.html
python3 crawpy.py -u https://google.com/FUZZ -w ./common.txt -k -fw 9,83 -rc 301,302 -rd 2 -ac
python3 crawpy.py -u https://morph3sec.com/FUZZ -w ./common.txt -e .php,.html -t 20 -ac -k
python3 crawpy.py -u https://google.com/FUZZ -w ./common.txt -ac -gr
python3 crawpy.py -u https://google.com/FUZZ -w ./common.txt -ac -gr -o /tmp/test.txt
sudo python3 crawpy.py -l urls.txt -lt 20 -gr -w ./common.txt -t 20 -o custom_reports -k -ac -s
python3 crawpy.py -u https://google.com/FUZZ -w ./common.txt -ac -gr -rd 1 -rc 302,301 -rp admin,backup,support -k