Maison >Opération et maintenance >Sécurité >Comment analyser et contourner la vérification reCAPTCHA pendant le processus d'enregistrement des utilisateurs Tumblr
Bonjour à tous, l'article partagé ci-dessous a été créé par l'auteur lors du processus d'enregistrement des utilisateurs de Tumblr, et il a découvert que le mécanisme « d'authentification homme-machine » de Tumblr (reCAPTCHA) a un défaut qui peut facilement être contourné. Le risque de sécurité causé par ce contournement est que des attaquants malveillants peuvent créer un grand nombre de faux comptes sociaux et énumérer les noms d'utilisateur et les adresses e-mail des comptes, ce qui conduit indirectement à un trafic anormal dans l'application du site Web Tumblr et même à des fuites d'informations sur les utilisateurs.
Sur Le 16 juin de l'année dernière, lors du hackathon organisé par HackerOne à Londres, la prime versée pour la découverte de vulnérabilités a dépassé les 80 000 dollars américains. Les tests publics de vulnérabilités sont en effet une industrie avec un avenir prometteur. Pour les plates-formes de tests publiques, les activités de tests organisées avec des primes peuvent non seulement motiver les chercheurs en sécurité à découvrir des vulnérabilités, mais également améliorer la qualité des vulnérabilités signalées et peuvent également fournir des informations détaillées sur les vulnérabilités. au fabricant pour une réparation rapide.
La sécurité est un sujet complexe, et même les grandes entreprises sont vouées à commettre des erreurs. Les entreprises sont souvent confrontées à des risques de sécurité incertains entre les ressources internes et les attaquants externes, et les tests publics de vulnérabilité peuvent combler les failles de sécurité existantes. Si votre organisation n'est pas en mesure de former ou de sélectionner en interne des testeurs de sécurité diversifiés et de haute qualité, vous pouvez utiliser des projets de tests publics externes ou des services de conseil pour tester les produits de sécurité ou les systèmes associés et découvrir les vulnérabilités.
Personnellement, j'ai également rencontré de mauvaises expériences lors du processus de test public. J'ai déjà signalé une vulnérabilité à haut risque sur Myspace qui permettait d'accéder à n'importe quel compte, mais lors de longues négociations avec Myspace, ils étaient tout simplement indifférents et j'ai finalement choisi de divulguer la vulnérabilité (cliquez ici pour lire). Cette vulnérabilité affecte près de 360 millions de comptes d'utilisateurs. J'espère que la pression du public pourra être utilisée pour inciter à corriger la vulnérabilité. Ce comportement est également forcé.
Au contraire, j'ai découvert une fois une vulnérabilité de contournement du code de vérification reCaptcha de la société Tumblr. Après l'avoir signalé via Twitter, ils m'ont directement envoyé un message pour communiquer. Il n'a fallu que deux jours pour que la vulnérabilité soit résolue. . Réparez-vous. Ce qui suit est mon partage du processus de découverte de vulnérabilités.
Lorsque j'ai visité www.tumblr.com pour l'enregistrement des utilisateurs, j'ai découvert qu'il y avait une mauvaise configuration dans le service de code de vérification Google reCAPTCHA intégré dans La vulnérabilité est que dans la demande de code de vérification reCAPTCHA envoyée par le client et l'application, la valeur du paramètre nommée « g-recaptcha-response » peut être laissée vide. Cette vulnérabilité affectera tous les utilisateurs nouvellement enregistrés et ne nécessite aucun outil spécial pour l'exploiter. Il vous suffit de cliquer manuellement sur le bouton qui apparaît sur le site Web ou de lancer des modifications via un agent de capture de paquets.
De manière générale, si le mécanisme Captcha est correctement exécuté et déployé, il a un effet de limitation de débit (Rate Limiting), qui peut être utilisé pour empêcher les utilisateurs de spam de créer de faux comptes de réseaux sociaux pour réduire le nombre de demandes pour une application spécifique. La vulnérabilité de contournement du code de vérification reCAPTCHA de la page Tumblr que j'ai découverte peut être utilisée par des attaquants pour créer de faux comptes. De plus, étant donné que le mécanisme d'enregistrement des utilisateurs de Tumblr permet uniquement de lier l'adresse e-mail enregistrée à un nom d'utilisateur, cette vulnérabilité peut également être utilisée pour cibler. Les attaques d'énumération par force brute sur les adresses e-mail et les noms d'utilisateur. Des énumérations répétées à grande échelle peuvent entraîner une fuite des informations d'enregistrement des utilisateurs de Tumblr.
Examinons d'abord le processus normal de création de compte sur la page www.tumblr.com. Tout d'abord, accédez à la page de connexion https://www.tumblr. .com /login, cliquez sur le bouton d'inscription "S'inscrire" dans le coin supérieur droit :
puis accédez à la page d'enregistrement du compte https:/ /www.tumblr.com/register :
Ensuite, cliquez sur le bouton Démarrer « Commencer », puis certaines options requises apparaîtront, y compris le nom d'utilisateur. , mot de passe et email :
Après avoir rempli les champs obligatoires ci-dessus, vous devez également saisir votre âge et vérifier les conditions d'utilisation :
#🎜🎜 #
Ensuite, une page « authentification homme-machine » (reCAPTCHA) apparaîtra :# 🎜🎜##🎜🎜 #
En plus de l'option « Authentification homme-machine » (reCAPTCHA) déployée ici, il existe également une option « Presque terminé ! » Ce qui est drôle, c'est que même si vous devez généralement compléter "Authentification Homme-Machine" avant de passer à l'étape suivante, mon test a révélé que vous n'avez pas besoin de cocher "Je ne suis pas un robot" dans "Authentification Homme-Machine". . Cliquez simplement sur « Presque terminé ! » ci-dessous pour terminer ici ce que l'on appelle « l'authentification homme-machine », puis passez directement à l'étape suivante vers la page d'accueil Tumblr de l'utilisateur. Ce déploiement d'« authentification homme-machine » (reCAPTCHA) est-il ici juste pour le spectacle ?
Pour une analyse approfondie, nous utilisons Burp pour voir les demandes et réponses spécifiques initiées par les utilisateurs lors de l'étape « authentification homme-machine » (reCAPTCHA).
La requête POST lors du lancement de « l'authentification homme-machine » est la suivante :
En regardant attentivement la requête POST ci-dessus, vous pouvez constater que le défi recaptcha est une valeur de paramètre appelée « g-recaptcha-response », qui est la partie rouge ci-dessus sur la photo. Mais si nous laissons cette valeur de paramètre vide, cela équivaut à ne pas la vérifier. Que se passera-t-il ? La requête POST ainsi construite est la suivante :
Après tests, il a été constaté que le serveur Tumblr renvoyait la même réponse valide aux deux requêtes POST ci-dessus :
Bien sûr, c'est-à-dire, le serveur Tumblr a simplement oublié La vérification de la valeur du paramètre « g-recaptcha-response » a provoqué le contournement du mécanisme « d'authentification homme-machine » (reCAPTCHA) mentionné ci-dessus.
Bien que de nombreuses applications de sites Web nécessitent un degré élevé de confiance de la part des utilisateurs, des vulnérabilités de contournement d'authentification comme celle-ci sont également courantes sur ces sites Web. Non, il n'y a pas si longtemps, Google vient de corriger une vulnérabilité qui contourne complètement reCAPTCHA.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!