Maison Opération et maintenance Sécurité Exploitation de la vulnérabilité du mécanisme de vérification des jetons CSRF pour authentifier les comptes des victimes

Exploitation de la vulnérabilité du mécanisme de vérification des jetons CSRF pour authentifier les comptes des victimes

Dec 28, 2019 pm 05:57 PM
csrf 漏洞 账户 验证

Exploitation de la vulnérabilité du mécanisme de vérification des jetons CSRF pour authentifier les comptes des victimes

本文分享的是一个Facebook CSRF漏洞,用Gmail或G-Suite账户来验证新创建Facebook账户时存在的CSRF令牌验证机制漏洞,攻击者利用该漏洞,可在验证新创建Facebook账户时,以最小用户交互方式用受害者邮箱验证其注册的Facebook账户,实现间接CSRF攻击。

OAuth登录机制对CSRF token验证不足

当用户用Gmail或G-Suite账号来创建一个新的Facebook账户时,存在以下两种身份验证机制:

1、从Gmail中接收5位数的验证码,然后在Facebook网页中输入以确认。

2、从Gmail或G-Suite账号的第三方进行OAuth授权跳转登录。

Exploitation de la vulnérabilité du mécanisme de vérification des jetons CSRF pour authentifier les comptes des victimes

要绕过第一种方法估计很难了,Facebook后端部署的Checkpoint安防设备和强大的速率限制条件,会毫不客气地阻断任何暴力破解和可疑行为。所以,我们来观察一下第二种方法,经过一番测试,我在其中发现了一个CSRF漏洞,原因在于,在OAuth授权跳转登录过程中缺少必要的CSRF令牌验证机制。

OAuth Login链接如下:

https://accounts.google.com/signin/oauth/identifier?client_id=15057814354-80cg059cn49j6kmhhkjam4b00on1gb2n.apps.googleusercontent.com&as=dOwxqXYIm0eQvYuxmp-ODA&destination=https%3A%2F%2Fwww.facebook.com&approval_state=!ChRLcHh5R0tQVzRXUWJSOFRIbG85ZRIfb19Dd1BsY0tpbGtYd0ktM2lWMU9TaWNIbzUyOTlCWQ%E2%88%99AJDr988AAAAAXghyvi5iRjgT2N1tdaquUxqUTQOYK4V4&oauthgdpr=1&xsrfsig=ChkAeAh8T8oLnsrNQd99XQIe69KD7-njhen9Eg5hcHByb3ZhbF9zdGF0ZRILZGVzdGluYXRpb24SBXNvYWN1Eg9vYXV0aHJpc2t5c2NvcGU&flowName=GeneralOAuthFlow
Copier après la connexion

请注意,其中的state参数为一个CSRF令牌,该令牌用于在一些跨站点的请求响应中,去验证那些经身份验证过的用户,以此来防止攻击者蓄意的CSRF攻击。

通常来说,如果在上述OAuth Login过程中,该state参数由客户端的 Firefox 浏览器生成,那么,该参数令牌也仅限于在该Firefox浏览器中验证有效。但是,这里的问题是,该OAuth Login机制还缺乏必要的验证措施,也就是,这里的这个state参数(CSRF token)可用在任何其他客户端浏览器中实现有效验证。

所以,对攻击者来说,可以简单地把上述URL链接进行嵌入构造到一个网页中,只要受害者点击到该网页,攻击者就能以受害者身份(如注册邮箱victim_email@gmail.com)完成Facebook账户的身份验证,实现间接的CSRF攻击。

但是,这里还有一个问题,那就是受害者在点击攻击者构造的页面之前,攻击者Facebook账户需要在受害者浏览器中实现登录,而这里,刚好可用Facebook的一键式登录(Log In With One Click)来完成这个动作。

把以下Facebook的一键式登录链接嵌入到恶意网页的IFrame中,当受害者点击网页后,攻击者Facebook账户就可在受害者浏览器中完成登录加载。

https://www.facebook.com/recover/password/?u=100008421723582&n=232323&ars=one_click_login&fl=one_click_login&spc=1&ocl=1&sih=0
Copier après la connexion


之后,当OAuth Login按钮被受害者点击后,受害者邮箱被攻击者用来确认登录了Facebook,之后,再用以下链接来退出攻击者的Facebook账户:

https://m.facebook.com/logout.php?h=17AfealsadvYomDS
Copier après la connexion

结合以上方法构造出一个恶意页面,攻击者就能用受害者邮箱(如以下视频中的Gmail)完成新创建Facebook账户的验证了。

(需要视频嵌入)

https://www.youtube.com/watch?time_continue=8&v=SmRVIip_ySE
Copier après la connexion

总结

总体来说,该漏洞危害确实有限,原因在于Facebook的第三方OAuth Login过程中缺乏对CSRF token的有效验证,导致攻击者可以利用不变的CSRF token来做文章。但随着Web应用的不断发展,各种场景下的第三方OAuth机制越来越多,其存在的问题和漏洞将会非常值得注意。

Exploitation de la vulnérabilité du mécanisme de vérification des jetons CSRF pour authentifier les comptes des victimes

漏洞上报进程

2019.5.10 :  漏洞初报
2019.5.17 :  Facebook跟进调查
2019.5.31 :  Facebook修复
2019.6.19 : Facebook奖励我$3,000
Copier après la connexion

相关文章教程推荐:服务器安全教程

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment vérifier la signature dans un PDF Comment vérifier la signature dans un PDF Feb 18, 2024 pm 05:33 PM

Nous recevons généralement des fichiers PDF du gouvernement ou d'autres agences, certains avec des signatures numériques. Après avoir vérifié la signature, nous voyons le message SignatureValid et une coche verte. Si la signature n'est pas vérifiée, la validité est inconnue. La vérification des signatures est importante, voyons comment le faire en PDF. Comment vérifier les signatures au format PDF La vérification des signatures au format PDF le rend plus fiable et le document est plus susceptible d'être accepté. Vous pouvez vérifier les signatures dans les documents PDF des manières suivantes. Ouvrez le PDF dans Adobe Reader Cliquez avec le bouton droit sur la signature et sélectionnez Afficher les propriétés de la signature Cliquez sur le bouton Afficher le certificat du signataire Ajoutez la signature à la liste des certificats de confiance à partir de l'onglet Confiance Cliquez sur Vérifier la signature pour terminer la vérification.

Méthode détaillée pour débloquer à l'aide de la vérification assistée par un ami WeChat Méthode détaillée pour débloquer à l'aide de la vérification assistée par un ami WeChat Mar 25, 2024 pm 01:26 PM

1. Après avoir ouvert WeChat, cliquez sur l'icône de recherche, entrez dans l'équipe WeChat et cliquez sur le service ci-dessous pour entrer. 2. Après avoir entré, cliquez sur l'option outil libre-service dans le coin inférieur gauche. 3. Après avoir cliqué, dans les options ci-dessus, cliquez sur l'option de déblocage/appel pour vérification auxiliaire.

Comment valider le code IFSC à l'aide d'expressions régulières ? Comment valider le code IFSC à l'aide d'expressions régulières ? Aug 26, 2023 pm 10:17 PM

Le Code du système financier indien est l'abréviation. Les succursales des banques indiennes participant au système de transfert électronique de fonds sont identifiées par un code spécial à 11 caractères. La Reserve Bank of India utilise ce code dans les transactions Internet pour transférer des fonds entre banques. Le code IFSC est divisé en deux parties. Les banques sont identifiées par les quatre premiers caractères, tandis que les succursales sont identifiées par les six derniers caractères. NEFT (National Electronic Funds Transfer), RTGS (Real Time Gross Settlement) et IMPS (Immediate Payment Service) sont quelques-unes des transactions électroniques qui nécessitent des codes IFSC. Méthode Voici quelques méthodes courantes pour valider les codes IFSC à l'aide d'expressions régulières : Vérifiez si la longueur est correcte. Vérifiez les quatre premiers caractères. Vérifiez le cinquième caractère. Che

Nouvelles fonctionnalités de PHP 8 : ajout de la vérification et de la signature Nouvelles fonctionnalités de PHP 8 : ajout de la vérification et de la signature Mar 27, 2024 am 08:21 AM

PHP8 est la dernière version de PHP, apportant plus de commodité et de fonctionnalités aux programmeurs. Cette version met un accent particulier sur la sécurité et les performances, et l'une des nouvelles fonctionnalités remarquables est l'ajout de capacités de vérification et de signature. Dans cet article, nous examinerons de plus près ces nouvelles fonctionnalités et leurs utilisations. La vérification et la signature sont des concepts de sécurité très importants en informatique. Ils sont souvent utilisés pour garantir que les données transmises sont complètes et authentiques. La vérification et les signatures deviennent encore plus importantes lorsqu'il s'agit de transactions en ligne et d'informations sensibles, car si quelqu'un est capable de falsifier les données, cela pourrait potentiellement

Jailbreaker n'importe quel grand modèle en 20 étapes ! Plus de « failles de grand-mère » sont découvertes automatiquement Jailbreaker n'importe quel grand modèle en 20 étapes ! Plus de « failles de grand-mère » sont découvertes automatiquement Nov 05, 2023 pm 08:13 PM

En moins d'une minute et pas plus de 20 étapes, vous pouvez contourner les restrictions de sécurité et réussir à jailbreaker un grand modèle ! Et il n'est pas nécessaire de connaître les détails internes du modèle - seuls deux modèles de boîte noire doivent interagir, et l'IA peut attaquer de manière entièrement automatique l'IA et prononcer du contenu dangereux. J'ai entendu dire que la « Grandma Loophole », autrefois populaire, a été corrigée : désormais, face aux « Detective Loophole », « Adventurer Loophole » et « Writer Loophole », quelle stratégie de réponse l'intelligence artificielle devrait-elle adopter ? Après une vague d'assaut, GPT-4 n'a pas pu le supporter et a directement déclaré qu'il empoisonnerait le système d'approvisionnement en eau tant que... ceci ou cela. La clé est qu’il ne s’agit que d’une petite vague de vulnérabilités exposées par l’équipe de recherche de l’Université de Pennsylvanie, et grâce à leur algorithme nouvellement développé, l’IA peut générer automatiquement diverses invites d’attaque. Les chercheurs disent que cette méthode est meilleure que celle existante

Comment changer le nom du compte et l'avatar dans Win10 - Guide détaillé étape par étape Comment changer le nom du compte et l'avatar dans Win10 - Guide détaillé étape par étape Jan 14, 2024 pm 01:45 PM

Après avoir enregistré un compte Win10, de nombreux amis estiment que leurs avatars par défaut ne sont pas très beaux. Pour cette raison, ils souhaitent modifier leurs avatars. Voici un tutoriel sur la façon de modifier leurs avatars. Si vous voulez savoir, vous pouvez. venez jeter un oeil. Comment changer le nom et l'avatar du compte win10 : 1. Cliquez d'abord sur le coin inférieur gauche pour commencer. 2. Cliquez ensuite sur l'avatar ci-dessus dans le menu contextuel. 3. Après avoir entré, cliquez sur « Modifier les paramètres du compte ». 4. Cliquez ensuite sur « Parcourir » sous l'avatar. 5. Recherchez la photo que vous souhaitez utiliser comme avatar et sélectionnez-la. 6. Enfin, la modification est terminée avec succès.

Vulnérabilité de débordement de tampon en Java et ses dommages Vulnérabilité de débordement de tampon en Java et ses dommages Aug 09, 2023 pm 05:57 PM

Les vulnérabilités de débordement de tampon en Java et leurs dommages Le débordement de tampon signifie que lorsque nous écrivons plus de données dans un tampon que sa capacité, cela entraînera un débordement de données vers d'autres zones de mémoire. Ce comportement de débordement est souvent exploité par les pirates informatiques, ce qui peut entraîner de graves conséquences telles qu'une exécution anormale de code et un crash du système. Cet article présentera les vulnérabilités de débordement de tampon et leurs dommages en Java, et donnera des exemples de code pour aider les lecteurs à mieux comprendre. Les classes tampon largement utilisées en Java incluent ByteBuffer, CharBuffer et ShortB.

Protection contre les scripts intersites (XSS) et la falsification de requêtes intersites (CSRF) dans Laravel Protection contre les scripts intersites (XSS) et la falsification de requêtes intersites (CSRF) dans Laravel Aug 13, 2023 pm 04:43 PM

Protection contre les scripts intersites (XSS) et la falsification de requêtes intersites (CSRF) dans Laravel Avec le développement d'Internet, les problèmes de sécurité des réseaux sont devenus de plus en plus graves. Parmi eux, Cross-SiteScripting (XSS) et Cross-SiteRequestForgery (CSRF) sont l'une des méthodes d'attaque les plus courantes. Laravel, en tant que framework de développement PHP populaire, offre aux utilisateurs une variété de mécanismes de sécurité

See all articles