Authentification CAPTCHA
Les connexions basées sur CAPTCHA ajoutent une couche supplémentaire de sécurité pour empêcher l’accès automatisé des bots, mais elles ajoutent également de la complexité pour les outils DAST qui doivent s’authentifier avant d’analyser. Lorsqu’un flux de connexion inclut un CAPTCHA basé sur une image ou du texte, ou un défi reCAPTCHA, AppScan fournit des mécanismes permettant d’enregistrer et de rejouer de manière fiable ces flux pendant l’analyse.
Consultez cette page si le formulaire de connexion de votre application nécessite de résoudre un CAPTCHA avant l’envoi. Elle explique les types de CAPTCHA pris en charge, les exigences de configuration, les limitations et les étapes de dépannage nécessaires pour aider votre analyse à se poursuivre sans interruption. Bien que certains défis CAPTCHA, tels que les puzzles textuels ou simples basés sur des images, puissent être pris en charge par des techniques automatisées ou assistées par l’IA, les CAPTCHA au niveau de l’infrastructure (tels que reCAPTCHA v2/v3 ou les défis basés sur le comportement) nécessitent souvent une configuration spécifique pour maintenir la continuité de l’analyse. Comprendre le fonctionnement de ces mécanismes est essentiel pour réussir l’authentification et obtenir une couverture complète lors de votre analyse DAST.
Types de CAPTCHA pris en charge
AppScan prend en charge les implémentations CAPTCHA suivantes :
-
CAPTCHA v1 (reconnaissance d’images basée sur l’IA)
-
reCAPTCHA v2 (basé sur un défi : case à cocher interactive)
-
reCAPTCHA v3 (basé sur le comportement : scoring invisible)
CAPTCHA v1 (basé sur l’IA)
- Vue d’ensemble : CAPTCHA v1 est résolu à l’aide du moteur de reconnaissance basé sur l’IA de AppScan
-
Configuration :
- Assurez-vous qu’un fournisseur d’IA est configuré. Sinon, la résolution du CAPTCHA échoue pendant l’enregistrement de la connexion.
- Activez le CAPTCHA sur la page de configuration MFA.
-
Lorsque une configuration manuelle est nécessaire : si la détection automatique échoue :
-
Spécifiez manuellement l’ID de l’élément image et l’ID du champ de saisie, puis enregistrez la connexion.
-
Vous pouvez également basculer vers un modèle d’IA plus grand ou plus avancé pour améliorer la précision.
-
reCAPTCHA v2 et v3 (basés sur l’infrastructure)
- Vue d’ensemble : Automatiser la connexion à une application qui utilise reCAPTCHA v2/v3 nécessite de contourner le défi. Cela se fait en configurant la mise en liste d’autorisation des adresses IP dans Google Cloud afin que Google considère le AppScan trafic comme fiable.
-
Configuration requise :
-
Confirmez avec le propriétaire du site que les clés reCAPTCHA sont valides et actives pour les domaines corrects.
-
Identifiez les adresses IP publiques que le scanner AppScan utilisera.
-
Lorsque les vérifications IP sont activées par le propriétaire du site, les jetons de défi sont liés à l’adresse IP d’origine. Si l’adresse IP du scanner change pendant le processus (par exemple, en raison de l’équilibrage de charge ou d’une analyse multi-nœuds), la validation échoue. Pour résoudre ce problème, ajoutez manuellement à la liste d’autorisation l’adresse IP publique ou le sous-réseau du scanner dans la console du fournisseur (par exemple, la console Google Cloud) afin de garantir que l’adresse IP d’origine est approuvée.
- Les adresses IP locales ou privées ne peuvent pas être utilisées.
- Pour reCAPTCHA v2, commencez l’enregistrement de la connexion en utilisant uniquement le navigateur AppScan avec un enregistrement manuel.
-
-
Limitations :
-
reCAPTCHA v2
-
La connexion automatique n’est pas prise en charge.
-
Cela ne fonctionne pas avec le navigateur externe.
-
-
Identification des incidents
| Problème | Cause possible | Action recommandée |
|---|---|---|
| Échec de CAPTCHA v1 lors de la connexion | AppScan ne reconnaît pas l’image ou le texte saisi comme des éléments CAPTCHA. | Identifiez l’ID du paramètre HTTP pour l’image et le texte du CAPTCHA, puis ajoutez-le manuellement. Pour plus d'informations, voir Comment identifier le paramètre HTTP CAPTCHA. |
|
Le modèle d’IA ne parvient pas à résoudre des images complexes |
Passez à un modèle d’IA plus grand ou plus avancé. (par exemple, GPT-4 par rapport aux modèles mini). Le modèle par défaut peut échouer sur des images difficiles. |
|
| Échec de reCAPTCHA v2/v3 lors de l’enregistrement ou de la lecture de la connexion |
reCAPTCHA n’est pas entièrement initialisé ou vérifié. |
Enregistrez de nouveau la connexion. Les délais d’initialisation sont fréquents. |
| L’authentification reCAPTCHA échoue en raison de problèmes de liste d’autorisation |
|
|
| Le contexte de session n’a pas été capturé | Enregistrez de nouveau la connexion et sélectionnez une autre page après la connexion (par exemple, la page d’accueil). | |
| Délais de temporisation dans le flux de connexion | Augmentez les délais basés sur les actions (Configuration avancée). | |
|
Délais de temporisation pendant la lecture |
Insérez une action d’attente manuelle avant l’étape CAPTCHA. | |
| La page se charge trop lentement pour que CAPTCHA puisse s’initialiser | Ajoutez un délai de crawl plus long ou une attente explicite (par exemple, 10 secondes) avant d’interagir avec CAPTCHA. |
Comment identifier le paramètre HTTP CAPTCHA
AppScan doit connaître le nom du paramètre qui contient le CAPTCHA afin de pouvoir se connecter à l’application. Il identifie généralement ce paramètre lors de la validation de la procédure de connexion enregistrée. S’il n’y parvient pas, ou si vous utilisez la connexion automatique, vous devez ajouter le paramètre vous-même.
- Ouvrez un navigateur et accédez à la page de connexion de votre application.
- Appuyez sur F12 pour ouvrir le panneau des outils de développement du navigateur (généralement à droite ou en dessous du volet principal du navigateur).
- Cliquez sur l’onglet Éléments pour afficher le code HTML. Lorsque vous sélectionnez une partie du code, l’élément correspondant est mis en évidence dans le volet principal du navigateur.
- Repérez l’élément CAPTCHA et identifiez l’
id.Exemple :
<img id="captchaImage" src="./captcha?ts=1782734992413" alt="Captcha" width="180" height="56"> - La valeur du paramètre id, sans les guillemets, est le paramètre HTTP CAPTCHA dont vous avez besoin.
Exemple :
captchaImage