gau
Get All URLs — récupère les URLs d'une cible depuis Wayback Machine, Common Crawl, OTX, URLScan. Essentiel pour la découverte de surface d'attaque. Use only on authorized targets.
Quickstart
gau target.com
gau --subs target.com
gau target.com | tee urls.txt
gau target.com | grep -E "\.(php|asp|aspx|jsp)$"
Core Concepts
| Concept |
Description |
| Sources |
Wayback Machine, Common Crawl, OTX, URLScan |
| Crawl depth |
Archives historiques — URLs même supprimées |
--subs |
Inclure tous les sous-domaines |
--threads |
Nombre de requêtes parallèles |
| Providers |
Sélectionner quelles sources utiliser |
Installation
go install github.com/lc/gau/v2/cmd/gau@latest
apt install gau
gau --version
Syntax
gau [flags] <target>
echo "target.com" | gau [flags]
gau --list domains.txt [flags]
Options
Sources
| Option |
Description |
--providers wayback |
Wayback Machine uniquement |
--providers commoncrawl |
Common Crawl uniquement |
--providers otx |
AlienVault OTX |
--providers urlscan |
URLScan.io |
Filtres
| Option |
Description |
--subs |
Inclure les sous-domaines |
--blacklist ext |
Exclure certaines extensions |
--fc 404,302 |
Filtrer par codes HTTP (avec --mc) |
--from 2022 |
URLs depuis cette année |
--to 2026 |
URLs jusqu'à cette année |
| Option |
Description |
--threads 5 |
Threads parallèles (défaut: 1) |
--timeout 45 |
Timeout en secondes |
--retries 3 |
Retries en cas d'échec |
--rate-limit 10 |
Requêtes par seconde |
Output
| Option |
Description |
--json |
Sortie JSON |
--o <file> |
Fichier de sortie |
--verbose |
Mode verbose |
Recettes Bug Bounty
Découverte de Surface d'Attaque
gau --subs target.com | sort -u | tee all-urls.txt
gau target.com | grep "?" | tee urls-with-params.txt
gau target.com | grep -E "/api/|/v[0-9]+/" | sort -u
Trouver des Fichiers Sensibles
gau target.com | grep -E "\.(bak|old|backup|sql|env|config|xml|json)$"
gau target.com | grep -E "\.(zip|tar|gz|7z|rar)$"
gau target.com | grep -iE "(debug|test|dev|staging|admin|backup)"
Trouver des Endpoints JavaScript
gau target.com | grep "\.js$" | sort -u | tee js-files.txt
cat js-files.txt | while read url; do
python3 linkfinder.py -i "$url" -o cli 2>/dev/null
done | sort -u
katana -list js-files.txt -jc
URLs avec Paramètres (IDOR / Injection)
gau target.com | grep "?" | uro | sort -u
gau target.com | uro | tee deduped-urls.txt
gau target.com | grep "?" | grep -E "[?&][a-z_]+=[0-9]{1,10}(&|$)"
gau target.com | httpx -silent -mc 200,301,302 -o live-urls.txt
Recherche de Secrets Exposés
gau target.com | grep "\.js$" | httpx -silent | while read url; do
python3 secretfinder.py -i "$url" -o cli 2>/dev/null
done
gau target.com | grep "\.js$" | xargs -I {} sh -c \
'curl -sk "{}" | grep -iE "api[_-]?key|secret|token|password|auth"'
Sur Plusieurs Cibles
cat domains.txt | gau --threads 5 | sort -u > all-urls.txt
gau --list domains.txt --threads 5 | sort -u
Pipeline Complet (Recon)
gau --subs target.com | \
grep -vE "\.(png|jpg|gif|css|woff|ico|svg|mp4|pdf)$" | \
sort -u | \
httpx -silent -mc 200,301,302,403 | \
tee live-endpoints.txt
wc -l live-endpoints.txt
Combiner avec d'autres outils
{ gau target.com; waybackurls target.com; } | sort -u | uro
gau target.com | sort -u > gau-urls.txt
katana -u https://target.com -o katana-urls.txt
cat gau-urls.txt katana-urls.txt | sort -u > all-urls.txt
gau target.com | nuclei -t cves/ -rate-limit 10
Troubleshooting
| Problème |
Solution |
| Rate limited |
Ajouter --rate-limit 5, changer IP |
| Peu de résultats |
Ajouter --subs, tester providers différents |
| Trop de résultats |
Ajouter --blacklist png,jpg,gif,css |
| Timeout |
Augmenter --timeout 90 |
| Erreur providers |
Vérifier connexion, essayer --providers wayback uniquement |
Références