怎樣突破速率限制拿下任意Instagram賬戶,相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
我們提供的服務(wù)有:做網(wǎng)站、成都網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、尤溪ssl等。為上千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的尤溪網(wǎng)站制作公司
該Writeup是關(guān)于Instagram平臺的任意賬戶劫持漏洞,作者通過構(gòu)造出突破速率限制(Rate Limiting)的方法,可暴力猜解出任意Instagram賬戶的密碼重置確認(rèn)碼,以此實(shí)現(xiàn)Instagram賬戶劫持。以下是作者的分享。
在著名的數(shù)據(jù)泄露事件發(fā)生之后,F(xiàn)acebook在全平臺不斷改進(jìn)它的安全控制措施。出于對包括賬戶劫持等嚴(yán)重漏洞的獎勵,F(xiàn)acebook增加了相應(yīng)的漏洞賞金數(shù)額。我想試試運(yùn)氣,看看能否發(fā)現(xiàn)一些東西,結(jié)果真的就在Instagram上中大獎了。(Instagram為Facebook旗下的子應(yīng)用)
對Instagram的測試一開始,我就想到了賬戶劫持漏洞(Account Takeover),當(dāng)然與之相關(guān)的應(yīng)該就是Instagram的忘記密碼功能了。所以,我就在Web方式下,用我自己的Instagram賬戶進(jìn)行反復(fù)的密碼重置測試。密碼重置請求發(fā)出后,Instagram會給賬戶相應(yīng)的郵箱返回一條重置鏈接,這種重置鏈接貌似進(jìn)行了全面的安全防范,滴水不漏,我找不到任何破綻。
所以,我就轉(zhuǎn)向了Instagram移動應(yīng)用端的密碼重置機(jī)制下,不料我就在這里發(fā)現(xiàn)了一個可疑行為。密碼重置要求下,當(dāng)用戶輸入他的手機(jī)號碼后,Instagram會向該手機(jī)號發(fā)送一個6位確認(rèn)碼,在手機(jī)端輸入該6位確認(rèn)碼之后,密碼重置才能成功生效。理論上來說,這種6位數(shù)確認(rèn)碼,有10*10*10*10*10*10*的一百萬種可能,如果我在手機(jī)端都能嘗試一遍所有這一百萬種的各種可能,那么是不是就能對任意賬戶實(shí)現(xiàn)賬戶劫持了呢?可以肯定的是,應(yīng)對這種暴力破解,Instagram后端肯定存在一定的速率限制(Rate Limiting)。不過,我決定試試看。
至少我的測試驗(yàn)證了Instagram后端的速率限制機(jī)制長什么樣。在我發(fā)送的1000多個請求中,大約有250個左右會被有效通過,其余的750個會被速率限制機(jī)制阻擋掉。然后,我又發(fā)送了另外一組1000多個請求,這一次,其中有絕大部分被速率限制機(jī)制阻擋掉。這樣看來,Instagram的驗(yàn)證和速率限制機(jī)制還可以。
但有兩件事我有點(diǎn)想不通,那就是發(fā)出的請求數(shù)量和Instagram未對請求執(zhí)行黑名單化的行為。原因在于,即使我能在短時間內(nèi)發(fā)送有限數(shù)量的請求,但我也能連續(xù)發(fā)送請求而不會被阻擋掉。這就.....是不是有點(diǎn)問題呢?
經(jīng)過幾天的連續(xù)測試,我發(fā)現(xiàn)了可以成功繞過Instagram速率限制機(jī)制的方法,那就是:
Race Hazard(競態(tài)條件)
IP Rotation(IP輪換)
競爭冒險(Race Hazard):又名競態(tài)條件、競爭條件(Race Condition),它旨在描述一個系統(tǒng)或者進(jìn)程的輸出依賴于不受控制的事件出現(xiàn)順序或者出現(xiàn)時機(jī)。此詞源自于兩個信號試著彼此競爭,來影響誰先輸出。
舉例來說,如果計(jì)算機(jī)中的兩個進(jìn)程同時試圖修改一個共享內(nèi)存的內(nèi)容,在沒有并發(fā)控制的情況下,最后的結(jié)果依賴于兩個進(jìn)程的執(zhí)行順序與時機(jī)。而且如果發(fā)生了并發(fā)訪問沖突,則最后的結(jié)果是不正確的。競爭冒險常見于不良設(shè)計(jì)的電子系統(tǒng),尤其是邏輯電路。但它們在軟件中也比較常見,尤其是有采用多線程技術(shù)的軟件。
IP輪換(IP Rotation):是指在一定時間內(nèi),用不同的IP地址去請求同一個服務(wù)端接口。通常用代理可實(shí)現(xiàn)這種IP地址輪換,這種方式應(yīng)用于突破網(wǎng)站反爬蟲機(jī)制對大量數(shù)據(jù)的抓取。
如果你對競爭冒險(Race Hazard)或競態(tài)條件(Race Condition)了解較少,請自行百度熟悉。在競態(tài)條件之下,我使用多個IP地址向Instagram后端發(fā)送多個密碼重置的確認(rèn)碼并發(fā)請求,這種情況下,可以繞過Instagram的速率限制機(jī)制,不被阻擋。可以發(fā)送的請求數(shù)量取決于請求的并發(fā)性和我們使用的IP地址數(shù)量。另外,我還發(fā)現(xiàn),密碼重置的確認(rèn)碼會在10分鐘之后過期,這就使得此類攻擊更加困難,也因此,我們可能需要多達(dá)1000個的不同IP地址來執(zhí)行這種攻擊。
后來,我把該漏洞上報給Facebook之后,由于在漏洞報告中沒詳細(xì)說明情況,他們的安全團(tuán)隊(duì)起初無法復(fù)現(xiàn)漏洞。之后,經(jīng)過和他們的反復(fù)郵件溝通,我又制作了一段概念驗(yàn)證性視頻發(fā)給他們,最終他們確認(rèn)了該漏洞的有效性。
密碼重置時向Instagram后端請求確認(rèn)碼:
POST /api/v1/users/lookup/ HTTP/1.1User-Agent: Instagram 92.0.0.11.114 Android (27/8.1.0; 440dpi; 1080×2150; Xiaomi/xiaomi; Redmi Note 6 Pro; tulip; qcom; en_IN; 152830654)Accept-Language: en-IN, en-USContent-Type: application/x-www-form-urlencoded; charset=UTF-8Accept-Encoding: gzip, deflateHost: i.instagram.comConnection: keep-aliveq=mobile_number&device_id=android-device-id-here
該P(yáng)OST請求發(fā)出后,受害都將會收到一個6位數(shù)的密碼重置確認(rèn)碼,該確認(rèn)碼的有效期為10分鐘。
客戶端輸入以上確認(rèn)碼后,Instagram后端對該確認(rèn)碼的驗(yàn)證:
POST /api/v1/accounts/account_recovery_code_verify/ HTTP/1.1User-Agent: Instagram 92.0.0.11.114 Android (27/8.1.0; 440dpi; 1080×2150; Xiaomi/xiaomi; Redmi Note 6 Pro; tulip; qcom; en_IN; 152830654)Accept-Language: en-IN, en-USContent-Type: application/x-www-form-urlencoded; charset=UTF-8Accept-Encoding: gzip, deflateHost: i.instagram.comConnection: keep-aliverecover_code=123456&device_id=android-device-id-here
基于以上兩個POST請求和之前的攻擊策略,我們需要使用多個IP地址對該密碼重置服務(wù)端進(jìn)行暴力猜解。經(jīng)測試發(fā)現(xiàn),大概來說,我可以用每個IP地址發(fā)送將近2000個的請求,而不被Instagram后端的速率限制阻擋。
在我的實(shí)際測試中,我用1000臺機(jī)器對應(yīng)的1000個IP地址,并輕松實(shí)現(xiàn)了請求并發(fā),發(fā)送了將近20萬個請求,占100萬個總概率的20%。
真實(shí)攻擊場景下,攻擊者用5000個IP地址就能成功暴力猜解出一個有效的密碼重置確認(rèn)碼,以此就能“黑”掉(劫持掉)一個Instagram賬戶。這么多的IP地址聽起來貌似很難實(shí)現(xiàn),但如果用 Amazon 或 Google等云服務(wù)就能非常容易地讓你擁有如此多的IP地址,執(zhí)行完一百萬個密碼重置確認(rèn)碼的暴力猜解,全程的成本花費(fèi)也僅僅就是150美元。這....。
看完上述內(nèi)容,你們掌握怎樣突破速率限制拿下任意Instagram賬戶的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
分享名稱:怎樣突破速率限制拿下任意Instagram賬戶
本文來源:http://sd-ha.com/article28/gcjecp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、云服務(wù)器、網(wǎng)站收錄、網(wǎng)站排名、域名注冊、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)