溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么繞過CloudFlare的Bot保護(hù)機(jī)制

發(fā)布時(shí)間:2021-07-12 17:27:38 來源:億速云 閱讀:1343 作者:chen 欄目:網(wǎng)絡(luò)管理

本篇內(nèi)容主要講解“怎么繞過CloudFlare的Bot保護(hù)機(jī)制”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“怎么繞過CloudFlare的Bot保護(hù)機(jī)制”吧!

寫在前面的話

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

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

直奔主題

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

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

怎么繞過CloudFlare的Bot保護(hù)機(jī)制

接下來,我們需要?jiǎng)?chuàng)建一個(gè)JavaScript Worker來充當(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/*。

怎么繞過CloudFlare的Bot保護(hù)機(jī)制

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

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

>>> from cfproxy import CFProxy

>>> proxy = CFProxy('proxy.domain.com', 'A random User-Agent', '1.2.3.4')

>>> req = proxy.get('https://icanhazip.com')

>>> print(req.status_code)

200

>>> print(req.text)

108.162.229.50

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

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

怎么繞過CloudFlare的Bot保護(hù)機(jī)制

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

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

ACCEPT: */*

ACCEPT-ENCODING: gzip

CDN-LOOP: cloudflare; subreqs=1

CF-CONNECTING-IP: 2a06:98c0:3600::103 (could be any Cloudflare IP)

CF-EW-VIA: 15

CF-RAY: [REDACTED]

CF-REQUEST-ID: [REDACTED]

CF-VISITOR: {"scheme":"https"}

CF-WORKER: yourdomain.com (OPSEC Warning !)

CONNECTION: Keep-Alive

HOST: www.whatismybrowser.com

USER-AGENT: My Random User-Agent

X-FORWARDED-FOR: 1.2.3.4 (yes, we can override this header with whatever we want !)

X-FORWARDED-PROTO: https

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

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

怎么繞過CloudFlare的Bot保護(hù)機(jī)制

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

到此,相信大家對(duì)“怎么繞過CloudFlare的Bot保護(hù)機(jī)制”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI