


Ausnutzung der Sicherheitslücke im CSRF-Token-Verifizierungsmechanismus zur Authentifizierung von Opferkonten
本文分享的是一个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授权跳转登录。
要绕过第一种方法估计很难了,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
请注意,其中的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
之后,当OAuth Login按钮被受害者点击后,受害者邮箱被攻击者用来确认登录了Facebook,之后,再用以下链接来退出攻击者的Facebook账户:
https://m.facebook.com/logout.php?h=17AfealsadvYomDS
结合以上方法构造出一个恶意页面,攻击者就能用受害者邮箱(如以下视频中的Gmail)完成新创建Facebook账户的验证了。
(需要视频嵌入)
https://www.youtube.com/watch?time_continue=8&v=SmRVIip_ySE
总结
总体来说,该漏洞危害确实有限,原因在于Facebook的第三方OAuth Login过程中缺乏对CSRF token的有效验证,导致攻击者可以利用不变的CSRF token来做文章。但随着Web应用的不断发展,各种场景下的第三方OAuth机制越来越多,其存在的问题和漏洞将会非常值得注意。
漏洞上报进程
2019.5.10 : 漏洞初报 2019.5.17 : Facebook跟进调查 2019.5.31 : Facebook修复 2019.6.19 : Facebook奖励我$3,000
相关文章教程推荐:服务器安全教程
Das obige ist der detaillierte Inhalt vonAusnutzung der Sicherheitslücke im CSRF-Token-Verifizierungsmechanismus zur Authentifizierung von Opferkonten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Normalerweise erhalten wir PDF-Dateien von der Regierung oder anderen Behörden, teilweise mit digitalen Signaturen. Nach der Überprüfung der Signatur sehen wir die Meldung SignatureValid und ein grünes Häkchen. Wenn die Signatur nicht überprüft wird, ist die Gültigkeit unbekannt. Die Überprüfung von Signaturen ist wichtig. Sehen wir uns an, wie das im PDF-Format geht. So überprüfen Sie Signaturen im PDF-Format. Durch die Überprüfung von Signaturen im PDF-Format wird das Dokument vertrauenswürdiger und die Wahrscheinlichkeit erhöht, dass es akzeptiert wird. Sie können Signaturen in PDF-Dokumenten auf folgende Weise überprüfen. Öffnen Sie die PDF-Datei im Adobe Reader. Klicken Sie mit der rechten Maustaste auf die Signatur und wählen Sie „Signatureigenschaften anzeigen“. Klicken Sie auf die Schaltfläche „Unterzeichnerzertifikat anzeigen“. Fügen Sie die Signatur auf der Registerkarte „Vertrauen“ zur Liste „Vertrauenswürdige Zertifikate“ hinzu. Klicken Sie auf „Signatur überprüfen“, um die Überprüfung abzuschließen

1. Klicken Sie nach dem Öffnen von WeChat auf das Suchsymbol, geben Sie das WeChat-Team ein und klicken Sie zum Betreten auf den Dienst unten. 2. Klicken Sie nach der Eingabe auf die Option „Self-Service-Tool“ in der unteren linken Ecke. 3. Klicken Sie nach dem Anklicken in den Optionen oben auf die Option zum Entsperren/Einspruch für eine zusätzliche Verifizierung.

Die Abkürzung lautet Indian Financial System Code. Indische Bankfilialen, die am elektronischen Geldtransfersystem teilnehmen, werden durch einen speziellen 11-stelligen Code identifiziert. Die Reserve Bank of India verwendet diesen Code bei Internettransaktionen, um Gelder zwischen Banken zu überweisen. Der IFSC-Code ist in zwei Teile unterteilt. Banken werden durch die ersten vier Zeichen identifiziert, während Filialen durch die letzten sechs Zeichen identifiziert werden. NEFT (National Electronic Funds Transfer), RTGS (Real Time Gross Settlement) und IMPS (Immediate Payment Service) sind einige der elektronischen Transaktionen, die IFSC-Codes erfordern. Methode Einige gängige Methoden zur Validierung von IFSC-Codes mithilfe regulärer Ausdrücke sind: Überprüfen Sie, ob die Länge korrekt ist. Überprüfen Sie die ersten vier Zeichen. Überprüfen Sie den fünften Charakter. Che

Nach der Registrierung eines Win10-Kontos haben viele Freunde das Gefühl, dass ihre Standard-Avatare nicht sehr gut aussehen. Aus diesem Grund möchten sie ihre Avatare ändern. Wenn Sie es wissen möchten, können Sie dies tun Kommen Sie und schauen Sie es sich an. So ändern Sie den Win10-Kontonamen und den Avatar: 1. Klicken Sie zunächst auf die untere linke Ecke, um zu starten. 2. Klicken Sie dann oben im Popup-Menü auf den Avatar. 3. Klicken Sie nach der Eingabe auf „Kontoeinstellungen ändern“. 4. Klicken Sie dann unter dem Avatar auf „Durchsuchen“. 5. Suchen Sie das Foto, das Sie als Avatar verwenden möchten, und wählen Sie es aus. 6. Schließlich ist die Änderung erfolgreich abgeschlossen.

PHP8 ist die neueste Version von PHP und bietet Programmierern mehr Komfort und Funktionalität. Bei dieser Version liegt ein besonderer Schwerpunkt auf Sicherheit und Leistung, und eine der bemerkenswerten neuen Funktionen ist die Hinzufügung von Verifizierungs- und Signierungsfunktionen. In diesem Artikel werfen wir einen genaueren Blick auf diese neuen Funktionen und ihre Verwendung. Verifizierung und Signierung sind sehr wichtige Sicherheitskonzepte in der Informatik. Sie dienen häufig dazu, sicherzustellen, dass die übermittelten Daten vollständig und authentisch sind. Verifizierung und Signaturen werden beim Umgang mit Online-Transaktionen und sensiblen Informationen noch wichtiger, denn wenn jemand in der Lage ist, die Daten zu manipulieren, könnte dies möglicherweise der Fall sein

In weniger als einer Minute und nicht mehr als 20 Schritten können Sie Sicherheitsbeschränkungen umgehen und ein großes Modell erfolgreich jailbreaken! Und es ist nicht erforderlich, die internen Details des Modells zu kennen – es müssen lediglich zwei Black-Box-Modelle interagieren, und die KI kann die KI vollautomatisch angreifen und gefährliche Inhalte aussprechen. Ich habe gehört, dass die einst beliebte „Oma-Lücke“ behoben wurde: Welche Reaktionsstrategie sollte künstliche Intelligenz angesichts der „Detektiv-Lücke“, der „Abenteurer-Lücke“ und der „Schriftsteller-Lücke“ verfolgen? Nach einer Angriffswelle konnte GPT-4 es nicht ertragen und sagte direkt, dass es das Wasserversorgungssystem vergiften würde, solange ... dies oder das. Der Schlüssel liegt darin, dass es sich lediglich um eine kleine Welle von Schwachstellen handelt, die vom Forschungsteam der University of Pennsylvania aufgedeckt wurden. Mithilfe ihres neu entwickelten Algorithmus kann die KI automatisch verschiedene Angriffsaufforderungen generieren. Forscher sagen, dass diese Methode besser ist als die bisherige

Vergleichende Analyse der domänen- und standortübergreifenden Anforderungsfälschung von PHPSession Mit der Entwicklung des Internets ist die Sicherheit von Webanwendungen besonders wichtig geworden. PHPSession ist ein häufig verwendeter Authentifizierungs- und Sitzungsverfolgungsmechanismus bei der Entwicklung von Webanwendungen, während Cross-Origin-Anfragen und Cross-Site-Request-Forgery (CSRF) zwei große Sicherheitsbedrohungen darstellen. Um die Sicherheit von Benutzerdaten und Anwendungen zu schützen, müssen Entwickler den Unterschied zwischen domänenübergreifender Sitzung und CSRF verstehen und übernehmen

PHP Framework-Sicherheitsleitfaden: Wie verhindert man CSRF-Angriffe? Ein Cross-Site Request Forgery (CSRF)-Angriff ist eine Art Netzwerkangriff, bei dem ein Angreifer einen Benutzer dazu verleitet, unbeabsichtigte Aktionen innerhalb der Webanwendung des Opfers auszuführen. Wie funktioniert CSRF? CSRF-Angriffe machen sich die Tatsache zunutze, dass die meisten Webanwendungen das Senden von Anfragen zwischen verschiedenen Seiten innerhalb desselben Domänennamens ermöglichen. Der Angreifer erstellt eine bösartige Seite, die Anfragen an die Anwendung des Opfers sendet und so nicht autorisierte Aktionen auslöst. Wie kann man CSRF-Angriffe verhindern? 1. Anti-CSRF-Token verwenden: Weisen Sie jedem Benutzer ein eindeutiges Token zu und speichern Sie es in der Sitzung oder im Cookie. Fügen Sie in Ihren Antrag ein ausgeblendetes Feld für die Übermittlung dieses Tokens ein
