CSRF 토큰 확인 메커니즘 취약점을 악용하여 피해자 계정 인증
本文分享的是一个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
相关文章教程推荐:服务器安全教程
위 내용은 CSRF 토큰 확인 메커니즘 취약점을 악용하여 피해자 계정 인증의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











우리는 일반적으로 정부나 기타 기관으로부터 PDF 파일을 받으며, 일부는 디지털 서명이 포함되어 있습니다. 서명을 확인한 후 SignatureValid 메시지와 녹색 확인 표시가 표시됩니다. 서명이 확인되지 않으면 유효성을 알 수 없습니다. 서명을 확인하는 것이 중요합니다. PDF에서 이를 수행하는 방법을 살펴보겠습니다. PDF에서 서명을 확인하는 방법 PDF 형식의 서명을 확인하면 더욱 신뢰할 수 있고 문서가 승인될 가능성이 높아집니다. 다음과 같은 방법으로 PDF 문서의 서명을 확인할 수 있습니다. Adobe Reader에서 PDF를 엽니다. 서명을 마우스 오른쪽 버튼으로 클릭하고 서명 속성 표시를 선택합니다. 서명자 인증서 표시 버튼을 클릭합니다. 신뢰 탭에서 신뢰할 수 있는 인증서 목록에 서명을 추가합니다. 서명 확인을 클릭하여 확인을 완료합니다.

1. WeChat을 연 후 검색 아이콘을 클릭하고 WeChat 팀을 입력한 후 아래 서비스를 클릭하여 들어갑니다. 2. 입력 후 좌측 하단의 셀프 서비스 도구 옵션을 클릭하세요. 3. 클릭 후, 위 옵션 중 보조검증 차단해제/이의제기 옵션을 클릭해 주세요.

인도 금융 시스템 코드는 약어입니다. 전자 자금 이체 시스템에 참여하는 인도 은행 지점은 특수 11자리 코드로 식별됩니다. 인도중앙은행은 인터넷 거래에서 이 코드를 사용하여 은행 간 자금을 이체합니다. IFSC 코드는 두 부분으로 나뉩니다. 은행은 처음 4자로 식별되고, 지점은 마지막 6자로 식별됩니다. NEFT(National Electronic Funds Transfer), RTGS(Real Time Gross Settlement) 및 IMPS(Immediate Payment Service)는 IFSC 코드가 필요한 전자 거래 중 일부입니다. 방법 정규식을 사용하여 IFSC 코드를 검증하는 몇 가지 일반적인 방법은 다음과 같습니다. 길이가 올바른지 확인합니다. 처음 4자를 확인하세요. 다섯 번째 문자를 확인하세요.Che

PHP8은 최신 버전의 PHP로 프로그래머에게 더 많은 편의성과 기능을 제공합니다. 이 버전은 보안과 성능에 특별히 중점을 두고 있으며 주목할만한 새로운 기능 중 하나는 확인 및 서명 기능이 추가된 것입니다. 이 문서에서는 이러한 새로운 기능과 그 용도에 대해 자세히 살펴보겠습니다. 확인 및 서명은 컴퓨터 과학에서 매우 중요한 보안 개념입니다. 이는 전송된 데이터가 완전하고 확실한지 확인하는 데 자주 사용됩니다. 온라인 거래 및 민감한 정보를 처리할 때 확인 및 서명이 더욱 중요해집니다. 누군가가 데이터를 조작할 수 있다면 잠재적으로 그럴 수 있기 때문입니다.

1분 이내에 20단계를 거쳐 보안 제한을 우회하고 대형 모델을 성공적으로 탈옥할 수 있습니다! 그리고 모델의 내부 세부 사항을 알 필요가 없습니다. 두 개의 블랙박스 모델만 상호 작용하면 되며 AI는 완전히 자동으로 AI를 공격하고 위험한 내용을 말할 수 있습니다. 한때 유행했던 '할머니 허점'이 고쳐졌다는 소식을 들었습니다. 이제 '탐정 허점', '모험가 허점', '작가 허점'에 직면하면 인공지능은 어떤 대응 전략을 채택해야 할까요? 맹공격의 물결 이후 GPT-4는 참을 수 없었고, 이것이든 저것이든... 급수 시스템을 오염시킬 것이라고 직접 말했습니다. 핵심은 이것이 펜실베니아 대학 연구팀이 노출한 취약점의 작은 물결일 뿐이며, 새로 개발된 알고리즘을 사용하여 AI가 자동으로 다양한 공격 프롬프트를 생성할 수 있다는 것입니다. 연구자들은 이 방법이 기존 방법보다 낫다고 말합니다.

win10 계정을 등록한 후 많은 친구들이 자신의 기본 아바타가 별로 좋지 않다고 생각합니다. 이러한 이유로 아바타를 변경하고 싶어합니다. 알고 싶다면 아바타를 변경하는 방법에 대한 튜토리얼을 참조하세요. 와서 좀 보세요. win10 계정 이름과 아바타를 변경하는 방법: 1. 먼저 왼쪽 하단 모서리를 클릭하여 시작합니다. 2. 팝업 메뉴에서 위의 아바타를 클릭하세요. 3. 입력 후 '계정 설정 변경'을 클릭하세요. 4. 그런 다음 아바타 아래의 "찾아보기"를 클릭하세요. 5. 아바타로 사용하고 싶은 사진을 찾아 선택하세요. 6. 드디어 수정이 성공적으로 완료되었습니다.

Java의 버퍼 오버플로 취약점과 그 피해 버퍼 오버플로는 버퍼에 용량보다 많은 데이터를 쓰면 데이터가 다른 메모리 영역으로 오버플로되는 것을 의미합니다. 이러한 오버플로 동작은 종종 해커에 의해 악용되어 비정상적인 코드 실행 및 시스템 충돌과 같은 심각한 결과를 초래할 수 있습니다. 이 기사에서는 Java의 버퍼 오버플로 취약점과 그 피해를 소개하고 독자의 이해를 돕기 위해 코드 예제를 제공합니다. Java에서 널리 사용되는 버퍼 클래스에는 ByteBuffer, CharBuffer 및 ShortB가 있습니다.

Laravel의 XSS(교차 사이트 스크립팅) 및 CSRF(교차 사이트 요청 위조) 보호 인터넷이 발전하면서 네트워크 보안 문제는 점점 더 심각해졌습니다. 그 중 XSS(Cross-SiteScripting)와 CSRF(Cross-SiteRequestForgery)는 가장 일반적인 공격 방법 중 하나입니다. 인기 있는 PHP 개발 프레임워크인 Laravel은 사용자에게 다양한 보안 메커니즘을 제공합니다.
