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

如何繞過(guò)CloudFlare的Bot保護(hù)機(jī)制

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

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

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

  直奔主題

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

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

  微信圖片_20210414203853.jpg

  接下來(lái),我們需要?jiǎng)?chuàng)建一個(gè)JavaScript Worker來(lái)充當(dāng)方向代理的角色(GitHub上提供了完整的代碼:https://github.com/jychp/cloudflare-bypass)。創(chuàng)建一個(gè)新的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)在,如果你嘗試訪(fǎng)問(wèn)proxy.domain.com,你將會(huì)接收到“Welcome to NGINX.”。這里的JavaScript代碼其實(shí)很好理解,它將會(huì)查找特定的Header,然后將你的請(qǐng)求轉(zhuǎn)發(fā)至給定的域名。

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

微信截圖_20210414203923.png

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

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

  微信圖片_20210414203937.jpg

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

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

 微信截圖_20210414204000.png

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

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

  微信圖片_20210414204148.jpg

  因此,你將能夠使用免費(fèi)的CloudFlare賬號(hào)每天發(fā)送無(wú)數(shù)次請(qǐng)求來(lái)爬取你所需要的資源了,好好享受吧!


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