《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動態(tài) > 如何繞過CloudFlare的Bot保護機制

如何繞過CloudFlare的Bot保護機制

2021-04-14
來源: FreeBuf
關(guān)鍵詞: Cloudflare Bot

  幾個月前,,我向CloudFlare的漏洞獎勵計劃提交了一個貌似漏洞的東西。但根據(jù)他們的說法,,我提交的并不算是一個安全問題,并表示對我“不予理睬”,!

  CloudFlare提供了一個JavaScript Worker系統(tǒng),可以幫助開發(fā)人員在CloudFlare服務(wù)器端執(zhí)行代碼,。這個功能對于靜態(tài)站點和維護頁面來說是非常常用有的,,而且對于滲透測試人員來說,也是一個大大的“寶藏”(無服務(wù)器C&C,、簡易網(wǎng)絡(luò)釣魚代理等),。在這篇文章中,我們將跟大家探討如何繞過CloudFlare的Bot保護機制,。

  直奔主題

  如果你曾嘗試使用Tor來訪問類似shodan.io這樣的網(wǎng)站,,你就知道驗證碼會有多么煩人了!

  首先,,我們需要注冊一個域名,,比如說免費的。tk域名就足夠了,,然后用它來創(chuàng)建一個CloudFlare賬號,。CloudFlare驗證了域名的有效性之后,,我們還需要添加至少一條有效的DNS記錄并啟用代理模式,。

  微信圖片_20210414203853.jpg

  接下來,我們需要創(chuàng)建一個JavaScript Worker來充當(dāng)方向代理的角色(GitHub上提供了完整的代碼:https://github.com/jychp/cloudflare-bypass),。創(chuàng)建一個新的Worker,,然后將copy/paste worker.js的內(nèi)容拷貝進(jìn)去,你可以自定義配置TOKEN_HEADER,、TOKEN_VALUE,、HOST_HEADER和IP_HEADER的值。

  然后將路徑添加至你的Worker:proxy.domain.com/*,。

  微信圖片_20210414203904.jpg

  現(xiàn)在,,如果你嘗試訪問proxy.domain.com,你將會接收到“Welcome to NGINX.”,。這里的JavaScript代碼其實很好理解,,它將會查找特定的Header,然后將你的請求轉(zhuǎn)發(fā)至給定的域名,。

  代理的使用也非常簡單,,我已經(jīng)在我的【https://github.com/jychp/cloudflare-bypass】上給大家提供了一個Python封裝器,我們可以這樣使用它:

微信截圖_20210414203923.png

  你可以嘗試對結(jié)果執(zhí)行WHOIS查詢,,你將會發(fā)現(xiàn)它是一個CloudFlare IP,,很可能就是運行Worker的服務(wù)器,。

  此時,如果你嘗試通過Tor來向你的代理發(fā)送請求的話,,你將會被屏蔽掉,。因此,我們需要向我們的CloudFlare防火墻添加一條規(guī)則:

  微信圖片_20210414203937.jpg

  現(xiàn)在,,你就可以使用Tor并在不需要任何驗證碼的情況下向你的代理發(fā)送請求了,。

  此時,你可以向任何使用了CloudFlare的網(wǎng)站發(fā)送請求,。你還可以嘗試請求一個顯示了你Header的網(wǎng)站,,你將會看到如下所示的信息:

 微信截圖_20210414204000.png

  正如你所見,X-FORWARDED-FOR可以用來發(fā)送任何的值,,因此你可以在進(jìn)行網(wǎng)絡(luò)資源爬取或者IP驗證的時候繞過服務(wù)器端的IP地址請求限制,。源IP不會被轉(zhuǎn)發(fā)給目標(biāo)站點,因此屏蔽你服務(wù)器發(fā)送請求的唯一方法就是過濾掉請求中的CF-WORKER Header,。

  不過根據(jù)CloudFlare的說法,,這并不能算是一個安全漏洞:

  微信圖片_20210414204148.jpg

  因此,你將能夠使用免費的CloudFlare賬號每天發(fā)送無數(shù)次請求來爬取你所需要的資源了,,好好享受吧,!


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點,。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問題,,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。