摘要:本文中作者就通過發現了雅虎(Yahoo)網站評論區的速率限制漏洞,可在短時間內發送大量評論,造成評價擁塞,從而收穫了雅虎官方獎勵的$2000。當然,速率限制漏洞不僅限於忘記密碼頁面,還會存在於一些用戶評論、用戶添加、用戶邀請、評論發送或一次性密碼(OTP)發送等功能中。

速率限制(Rate Limit)是爲了限制某種資源在某段時間內被訪問的次數,也即客戶端發起請求的或服務端響應請求的次數,目的在於防止DoS攻擊或對資源的無限請求下載。資源可以是網站服務、API接口或 磁盤讀寫等。本文中作者就通過發現了雅虎(Yahoo)網站評論區的速率限制漏洞,可在短時間內發送大量評論,造成評價擁塞,從而收穫了雅虎官方獎勵的$2000。

速率限制漏洞

在一些API接口中,應該考慮速率限制,限制每個客戶端IP對API接口的請求是1分鐘內最多多少次調用,如果超過該次數,那麼,服務端應該採取攔截封堵,這樣從服務端性能和資源安全性方面考慮,都會是一個很好的控制措施。

如果服務端未設置合理的速率限制(Rate Limit)措施,那麼可以造成間接的DoS或是用戶信息泄露。比如,若網站提供了郵箱和手機號碼註冊功能,並設置有忘記密碼頁面,但是卻忘記針對忘記密碼功能做速率限制(Rate Limit),那麼我們對此可以發起兩方面的利用:

1、在忘記密碼頁面中填入註冊用戶(受害者)的註冊郵箱或手機號碼,配合BurpSuite抓包,提交忘記密碼請求,利用repeater或intruder模塊進行多次數據包重放,1000次或上萬次的重放將對受害者郵箱和手機造成信息轟炸;
2、收集或生成郵箱和手機字典,根據忘記密碼頁面請求的響應提示,判斷網站註冊用戶,間接實現對網站註冊用戶的枚舉。

雅虎(Yahoo)的速率限制漏洞

當然,速率限制漏洞不僅限於忘記密碼頁面,還會存在於一些用戶評論、用戶添加、用戶邀請、評論發送或一次性密碼(OTP)發送等功能中。就比如我最近在yahoo.com用戶評論區發現的一個速率限制漏洞,利用該漏洞,我可以在1分鐘內發送多達100到200條的GIF動圖評論,在評論區造成GIF flood。如下:

我發現yahoo.com網站中有4個服務端都存在類似漏洞,目前這些漏洞均已修復。用Intruder的復現步驟如下:

1、去到存在速率限制漏洞的評論區,發送評論;

2、用BurpSuite抓包併發送到Intruder模塊;

3、清除其它多餘參數,保留評論區參數;

4、針對評論區構造任意評論內容字典,開始發起attack;

5、attack結束,刷新評論區頁面即可看到attack後留下的評論內容。

同樣,用Repeater點擊多次送請求包也能實現同樣效果:

漏洞修復建議

1、在API接口中設置速率限制措施;
2、在API接口中設置嚴格的權限設置,嚴格防範IDOR漏洞;
3、對於忘記密碼或註冊等用戶功能處,不給出明顯的請求響應提示。

*參考來源: medium ,clouds 編譯整理,轉載請註明來自 FreeBuf.COM

相關文章