通過 非死book Notes 可以 DDOS 攻擊任何網站
英文原文:Using 非死book Notes to DDoS any website
非死book Notes 允許用戶使用<img>標簽。每當使用<img>標簽時,非死book 會從外部服務器抓取圖像,并將其緩存起來。然而 非死book 利用隨機 GET 參數只緩存圖像一次,該緩存可以被繞過,濫用這個屬性會造成巨大的 HTTP GET 泛洪。
下面是我在 2014 年 3 月 3 日報告給 非死book 漏洞獎賞計劃的過程。
步驟 1、創建一系列 img 標簽,這些標簽只被抓取了一次。
<img src=http://targetname/file?r=1></img> <img src=http://targetname/file?r=1></img> ..<img src=http://targetname/file?r=1000></img>
步驟 2、使用m.非死book.com 創建 notes。它默認整理為固定長度。
步驟 3、相同用戶或者不同用戶創建多個 notes。每一個都會相應 1000 多個的 http 請求。
步驟 4、同一時間查看所有的 notes,目標服務器會觀察到有大量的 HTTP GET 泛洪。成千上萬的 GET 請求在幾秒鐘發送到一臺服務器。并行訪問 非死book 的服務器的總數是 100 多。
初始回應:問題被拒絕,因為他們誤解了這個 bug 只會導致一個 404 的要求,不能夠造成高危害。
通過幾封郵件后,我被要求舉證說明影響。我啟動了一個云端上的目標虛擬機,在三臺筆記本電腦上只使用瀏覽器,2-3 小時內我實現了 400 Mbps 的出站流量。

非死book 的服務器數量:127
當然,影響可能會超過 400 Mbps 的,因為我只使用了瀏覽器為這個測試,并且我也受由每個獲取的圖像的域的瀏覽器線程數量限制。我創建概念驗證的腳本,它可能會導致更大的影響和利用圖像向 非死book 發送腳本。
4 月 11 日,我得到答復:
“感謝您的耐心和我這里的長時間拖延表示歉意。我們對這一問題進行了討論,并跟另一個團隊進行了深入探討。
最后,得出的結論是,沒有好的方式來解決這個問題,不可能不顯著降低整體功能而阻止對小型消費級網站的“攻擊”。
不幸的是,所謂的“解決不了”的項目就不在獎賞漏洞的計劃內,所以不會有獎勵這個問題。但我想表示感謝,而且我覺得C提出的攻擊是有趣的,你顯然做了很多工作。我們也希望您繼續提交您找到 非死book 的漏洞。”
我不知道為什么他們不能解決。在圖像標簽支持動態鏈接可能是一個問題,我不是它的忠實粉絲。如果他們想有動態生成的圖像,我覺得手動上傳就能滿足用戶的需要。
我也看到了這種類型濫用的一些其他問題:
流量放大的情況下:當圖像被替換為較大尺寸的 PDF 或視頻時, 非死book 會捕獲到一個巨大的文件,但用戶什么也得不到。
每個 notes 支持 1000 多條鏈接,和 非死book 會鎖定用戶在產生 100 個信息后。由于沒有驗證碼的注釋產生,所有這一切都可以實現自動化,攻擊者可以使用多個用戶輕松準備數百個說明雖然持續 400 Mbps 可能是危險的,但我這測試是最后一次,看它是否確實能有較大的影響。不使用瀏覽器,而使用 POC 腳本我能搞定 900 Mbps 的出站流量。

我使用了一個普通的 13 MB 的 PDF 文件,被 非死book 的處理了 180,000 多次,涉及 非死book 的服務器數量是 112。
我們可以看到流量圖是在 895 Mbps 上下浮動的。這可能是因為施加于我的虛擬機在其上使用共享 Gbps 的以太網端口云計算的最大流量的限制。但這似乎沒有限制在 非死book 的服務器上,所以我們可以想象到底能獲取多少流量。
發現并報告此問題后,我發現谷歌上的類似的問題。結合谷歌和 非死book ,似乎我們可以很容易得到 Gbps 的流量。
非死book 的處理功能顯示自己可以作為 非死book 的擴展工具。現在它似乎沒有其他的選擇,而必須阻止它,以避免這種滋擾。
【更新1】
https://developers.非死book.com/docs/ApplicationSecurity/ 提到提到一種方式來獲得 非死book 獲取的 IP 地址。
whois -h whois.radb.net — ‘-i origin AS32934′ | grep ^route
阻塞 IP 地址可能會比阻止用戶代理更有效。我在博客上已經得到了很多的回應,并想感謝 DOSarrest 團隊承認這個發現。
【更新 2】
POC 腳本和訪問日志現在可以從 Github 上訪問。這個腳本非常簡單,僅僅是一個粗略的草稿。請使用它們僅用于研究和分析。
訪問日志是我用于 900 Mbps 的測試的確切的日志。在訪問日志,你會發現來自 非死book 300,000 多的請求。以前,我只計算了 非死bookexternalhit/1.1 ,似乎每個 IMG 標簽,有兩個攻擊,即一個來自 1.0 版本。另一個則是 1.1 的。我也嘗試了谷歌,你也會發現來自谷歌的 700 多條數據。
譯文鏈接: http://blog.jobbole.com/69324/