Commandes Caido
Commandes complètes du proxy de test de sécurité web Caido et workflows pour les tests de pénétration et la chasse aux bugs.
Installation
Section intitulée « Installation »| Commande | Description |
|---|---|
brew install caido | Installez Caido sur macOS via Homebrew |
curl -fsSL https://caido.io/install.sh | sh | Installez Caido sur Linux |
caido --version | Afficher la version de Caido |
caido | Lancer Caido (ouvre l’interface web à 127.0.0.1:8080) |
caido --port 9090 | Lancer Caido sur un port personnalisé |
caido --listen 0.0.0.0 | Lancer Caido en écoute sur toutes les interfaces |
Configuration du Proxy
Section intitulée « Configuration du Proxy »| Paramètre | Description |
|---|---|
Proxy Address: 127.0.0.1:8080 | Adresse de l’écouteur proxy par défaut |
Browser → Settings → Proxy → 127.0.0.1:8080 | Configurer le navigateur pour utiliser le proxy Caido |
export http_proxy=http://127.0.0.1:8080 | Définir le proxy via la variable d’environnement |
export https_proxy=http://127.0.0.1:8080 | Définir le proxy HTTPS via la variable d’environnement |
curl -x http://127.0.0.1:8080 https://target.com | Router curl via Caido |
Installer le certificat CA à partir de http://127.0.0.1:8080/ca | Approuver le CA de Caido pour l’interception HTTPS |
Mode Interception
Section intitulée « Mode Interception »| Action | Description |
|---|---|
>> Forwarding button | Basculer au mode Queuing pour l’interception |
|| Queuing button | Interception actuelle des demandes |
| Forward button | Transférer la demande interceptée au serveur |
| Drop button | Abandonner la demande interceptée |
| Edit request in intercept view | Modifier la demande avant de la transférer |
| Toggle response interception | Intercepter également les réponses du serveur |
Langage de Requête HTTPQL
Section intitulée « Langage de Requête HTTPQL »| Requête | Description |
|---|---|
host eq "target.com" | Filtrer par nom d’hôte exact |
host cont "target" | Filtrer par nom d’hôte contenant une chaîne |
resp.status_code eq 200 | Filtrer par code de statut de réponse |
resp.status_code gte 400 | Filtrer par code de statut >= 400 |
req.method eq "POST" | Filtrer par méthode HTTP |
req.path cont "/api/" | Filtrer par chemin URL contenant une chaîne |
resp.body cont "password" | Filtrer les réponses contenant du texte |
req.header cont "Authorization" | Filtrer par présence d’en-tête |
resp.length gt 1000 | Filtrer par taille de réponse |
host eq "target.com" AND req.method eq "POST" | Combiner les filtres avec AND |
req.path cont "/admin" OR req.path cont "/api" | Combiner les filtres avec OR |
Raccourcis Clavier
Section intitulée « Raccourcis Clavier »| Raccourci | Description |
|---|---|
Ctrl + R | Envoyer la demande à Replay |
Ctrl + Shift + R | Envoyer à Automate |
Ctrl + I | Basculer le mode interception |
Ctrl + F | Ouvrir la recherche/le filtre |
Ctrl + P | Ouvrir la palette de commandes |
Ctrl + K | Navigation rapide |
Tab | Basculer entre les panneaux |
Escape | Fermer le dialogue actuel |
Replay (Éditeur de Demandes)
Section intitulée « Replay (Éditeur de Demandes) »| Action | Description |
|---|---|
| Right-click → Send to Replay | Envoyer n’importe quelle demande à l’onglet Replay |
Ctrl + R on selected request | Envoi rapide à Replay |
| Modify headers in Replay | Modifier les en-têtes de la demande |
| Modify body in Replay | Modifier le corps de la demande |
| Send button in Replay | Exécuter la demande modifiée |
| Create new tab in Replay | Maintenir plusieurs sessions de replay |
| Rename replay tab | Organiser les sessions de test |
Automate (Fuzzing)
Section intitulée « Automate (Fuzzing) »| Action | Description |
|---|---|
Ctrl + Shift + R | Envoyer la demande à Automate |
| Select text → Insert placeholder | Marquer le point d’injection avec § |
| Add payload list | Configurer la liste de mots pour le fuzzing |
| Set payload type: Simple List | Utiliser une liste de valeurs |
| Set payload type: Sequence | Utiliser une séquence numérotée |
| Set payload type: Recursive | Génération de charge utile récursive |
| Configure rate limiting | Contrôler la vitesse de la demande |
| Start automation | Commencer les tests automatisés |
| Sort results by status code | Analyser les réponses |
| Filter results by response length | Trouver les anomalies |
Configuration de la Portée
Section intitulée « Configuration de la Portée »| Action | Description |
|---|---|
| Settings → Scope → Add host | Ajouter la cible à la portée des tests |
*.target.com | Portée avec caractères génériques pour tous les sous-domaines |
target.com:443 | Portée avec port spécifique |
| Enable scope filtering | Afficher uniquement le trafic dans la portée |
| Exclude out-of-scope hosts | Filtrer le bruit des hôtes hors de la portée |
Automatisation du Workflow
Section intitulée « Automatisation du Workflow »| Action | Description |
|---|---|
| Create new workflow | Construire un pipeline d’automatisation personnalisé |
| Add Passive node | Déclencher sur le trafic correspondant |
| Add Active node | Modifier les demandes/réponses en vol |
| Add Convert node | Transformer les données entre les formats |
| Chain workflow nodes | Construire une automatisation multi-étapes |
| Export workflow | Partager la configuration du workflow |
| Import workflow | Charger un workflow partagé |
Assistant (Intégration IA)
Section intitulée « Assistant (Intégration IA) »| Action | Description |
|---|---|
| Open Assistant panel | Accéder à l’analyse alimentée par l’IA |
| Ask about request/response | Obtenir des informations d’IA sur le trafic |
| Generate attack suggestions | Vecteurs de test recommandés par l’IA |
| Analyze vulnerability patterns | Détection de vulnérabilités assistée par l’IA |
| Explain response behavior | Comprendre la logique de l’application |
Gestion des Projets
Section intitulée « Gestion des Projets »| Action | Description |
|---|---|
| File → New Project | Créer un nouveau projet de test |
| File → Open Project | Ouvrir un projet existant |
| File → Save Project | Enregistrer l’état du projet actuel |
| Export findings | Exporter les problèmes découverts |
| Import requests from file | Charger les demandes enregistrées |
| Tag requests | Organiser avec des étiquettes personnalisées |
| Add notes to requests | Documenter les découvertes |
Plan du Site
Section intitulée « Plan du Site »| Action | Description |
|---|---|
| View → Sitemap | Ouvrir le panneau du plan du site |
| Expand domain tree | Afficher les points de terminaison découverts |
| Filter by response type | Afficher les types de contenu spécifiques |
| Export sitemap | Enregistrer la structure découverte |
| Identify hidden endpoints | Examiner les chemins auto-découverts |
Système de Plug-ins
Section intitulée « Système de Plug-ins »| Action | Description |
|---|---|
| Settings → Plugins | Gérer les plug-ins installés |
| Browse plugin store | Trouver des plug-ins communautaires |
| Install plugin | Ajouter une nouvelle fonctionnalité |
| Create custom plugin | Construire avec le SDK Caido |
caido plugin init <name> | Échafauder un nouveau projet de plug-in |
caido plugin build | Construire le plug-in pour la distribution |
Conseils et Bonnes Pratiques
Section intitulée « Conseils et Bonnes Pratiques »| Conseil | Description |
|---|---|
| Use scope filtering | Réduire le bruit en se concentrant sur les cibles |
| Tag interesting requests | Marquer les découvertes pour un examen ultérieur |
| Use HTTPQL filters | Rechercher efficacement un historique de trafic volumineux |
| Chain workflows | Automatiser les tâches de test répétitives |
| Export findings regularly | Sauvegarder les vulnérabilités découvertes |
| Use keyboard shortcuts | Accélérer le flux de test |
| Configure CA cert first | Assurer le fonctionnement de l’interception HTTPS |
| Use Replay for manual testing | Itérer efficacement sur les demandes |