挖洞經(jīng)驗 | 價值6k$的星巴克官網(wǎng)賬戶劫持漏洞
本文分享的是作者通過測試星巴克官網(wǎng)時,在其測試環(huán)境中發(fā)現(xiàn)的,利用IDOR越權(quán)方式實現(xiàn)的賬戶劫持漏洞,獲得了星巴克官方獎勵$6000的獎勵。
漏洞探測
當(dāng)我瀏覽到新加坡星巴克網(wǎng)站時,偶然在其中發(fā)現(xiàn)了一個第三方網(wǎng)站,出于保密原因暫且叫他為example.com,隨著對該網(wǎng)站的深入探測,我發(fā)現(xiàn)其路徑example.com/starbucks下的頁面和星巴克登錄網(wǎng)站card.starbucks.com.sg一模一樣:
此時我想到了兩種可能性:
- 當(dāng)前Web應(yīng)用程序是card.starbucks.com.sg的測試環(huán)境;
- 可能是忘記刪除的舊版測試環(huán)境。
這兩種可能性都會導(dǎo)致漏洞,但我也并不確定這里的漏洞是否會對星巴克網(wǎng)站的生產(chǎn)環(huán)境形成影響。于是,我在card.starbucks.com.sg網(wǎng)站創(chuàng)建了一個用戶,然后用該用戶在example.com/starbucks來進行登錄測試,BINGO!竟然可以的!也就是說example.com/starbucks和card.starbucks.com.sg采用了相同的用戶認證機制,都能認證星巴克注冊用戶。
漏洞利用
為此,我在example.com/starbucks頁面下發(fā)現(xiàn)了另一個路徑,該路徑發(fā)起的POST數(shù)據(jù)包中包含了注冊用戶的綁定郵箱:
email=hacker@hacker.com
基于賬戶劫持思路,為此,我在這里把綁定郵箱替換成受害者的,請求發(fā)出后,服務(wù)端的響應(yīng)內(nèi)容中只包含了受害者的部份信息。而且在更改密碼的請求中,由于無效的CSRF token,所以最終賬戶劫持的嘗試也沒成功。
繼續(xù)測試,我把包含受害者郵箱參數(shù),在example.com/starbucks中生成的PHPSESSID cookie復(fù)制到了card.starbucks.com.sg的請求數(shù)據(jù)包中,哦哇,請求發(fā)出后,竟然可以成功獲取到星巴克生產(chǎn)環(huán)境中受害者的個人信息,該請求中生成的有效CSRF token可以讓我有權(quán)更改受害者密碼,以此劫持了受害者賬戶。
漏洞影響
利用該漏洞不但可以看到其他用戶的個人信息,還能劫持受害者賬戶,而且如果受害者用戶賬戶中有累積積分,還可以通過移動APP去消費掉受害者的這些積分。
其它漏洞發(fā)現(xiàn)
我還在example.com上發(fā)現(xiàn)了其它兩個測試環(huán)境頁面,它們是:example.com/starbucks2和example.com/starbucks3,但是我在card.starbucks.com.sg注冊的賬戶都不能登錄該兩個測試頁面。另外,example.com/starbucks2頁面不能注冊新用戶,但example.com/starbucks3頁面可以注冊新用戶,這里就稍微有點亂了,但我盡量簡單來說。
我覺得example.com/starbucks2 和 example.com/starbucks3兩個測試環(huán)境頁面調(diào)用的都是測試用戶數(shù)據(jù)表,因此,在生產(chǎn)環(huán)境card.starbucks.com.sg中注冊的用戶是不能在該兩個測試環(huán)境中登錄的。
由于example.com/starbucks3頁面可以注冊新用戶,且該用戶可用來登錄example.com/starbucks2,但不能登錄card.starbucks.com.sg。然而,我從example.com/starbucks2請求包中復(fù)制的PHPSESSID cookie卻能有效應(yīng)用在card.starbucks.com.sg,因此,也就能間接使用該在example.com/starbucks3頁面注冊的新用戶。為此,我畫了一副以下漏洞利用邏輯圖:
- 用受害者郵箱在example.com/starbucks3上注冊新用戶;
- 用該注冊的受害者用戶登錄example.com/starbucks2;
- 復(fù)制第2步請求中的PHPSESSID cookie信息到生產(chǎn)環(huán)境網(wǎng)站card.starbucks.com.sg,進行登錄,即能實現(xiàn)對受害者的賬戶劫持(如果該受害者郵箱在生產(chǎn)環(huán)境中有過用戶注冊,這里一樣可以實現(xiàn)賬戶劫持)。
漏洞報送和處理進程
- 5.17 - 漏洞報送
- 5.18 - 漏洞分類
- 5.20 - 星巴克獎勵$4000
- 6.17 - 星巴克額外獎勵$2000
參考來源:kamilonurozkaleli