Good Carder
Professional
- Messages
- 751
- Reaction score
- 493
- Points
- 63
From a carder to carders. You hit your card details, proceed to checkout, and instead of the usual payment form, a Cloudflare script pops up. You see a blank window, a spinner, and the message "Checking your browser..." After a few seconds, the spinner disappears, but you've already figured it out. Your card is burned, your traffic is lost.
In 2027, Cloudflare Turnstile isn't just a captcha. It's a multi-layered obfuscated program that checks 55 parameters in three stages and is so encrypted that even decrypting its layers requires reverse engineering at the VM instruction level. Together with Bot Fight Mode on free plans, this protection has become a true filter for amateurs. If you don't use special browsers and rotating residential proxies, it's easier to quit.
In this article, I'll explain Turnstile and Bot Fight Mod, the detection layers they use, and provide working methods for mass bypassing, complete with code and a checklist. Let's get started.
The Managed Challenge is the most popular in 2027, and it's the one that most often ends with the Captcha we're used to seeing. But with the Non-Interactive spinner or the invisible Captcha, you might not even know it.
If any parameter doesn't match — for example, a webgl renderer claims to have an expensive graphics card but renders the image like a software renderer — your score drops sharply. If you can't execute JS code at all (like in requests or cURL), access is denied immediately.
Cloudflare explicitly states in its documentation: "You cannot bypass or skip Bot Fight Mode using the Skip action in WAF custom rules or using Page Rules." If your server sends callback requests to a site with a free plan, and you can't provide a static IP address, the requests may be mistakenly flagged as bot traffic and blocked. The only solution is to either disable Bot Fight Mode (though it can be forced on the free plan) or upgrade to a paid plan (which includes Super Bot Fight Mode with flexible rules).
For card payment processing, this mode means that even if you use clean residential proxies and the correct headers, Cloudflare can still trigger a challenge if your asynchronous script calls the payment page directly, rather than through the "home → catalog → product → payment" sequence.
How do you stay undetected?
In 2026 tests, Camoufox demonstrated an 88.58% success rate against Turnstile-heavy targets. This is almost twice as high as that of the naked Playwright.
CapSolver also supports invisible captcha and costs approximately 0.50-3-3 per thousand solutions.
When using a token in a form, be sure to also send the cf-turnstile-response. Otherwise, the server will ignore the payment.
But if you've already received a valid cf_clearance cookie through your browser, curl_cffi can reuse it for fast API calls.
If FlareSolver still produces captcha, enable CapMonster by setting the variable CAPTCHA_SOLVER=capmonster.
A successful evasion strategy in 2027 looks like this:
Don't expect standard Playwright or Puppeteer with plugins to survive an encounter with AI Labyrinth. In 2027, you should be using patched Chromium kernels, switching to residential proxies, and solving captchas via the Solver API.
A quick one-line reminder:
"The old Playwright-Stealth dies on the third request. Camoufox and Patchright increase the success rate to 95%. The Managed Challenge is solved using CapSolver or Surfsky. Without residential proxies and curl_cffi, even cloud browsers are useless. Bot Fight Mod is not disabled on the free plan — if your callbacks are sent without a static IP, prepare to be blocked."
In 2027, Cloudflare Turnstile isn't just a captcha. It's a multi-layered obfuscated program that checks 55 parameters in three stages and is so encrypted that even decrypting its layers requires reverse engineering at the VM instruction level. Together with Bot Fight Mode on free plans, this protection has become a true filter for amateurs. If you don't use special browsers and rotating residential proxies, it's easier to quit.
In this article, I'll explain Turnstile and Bot Fight Mod, the detection layers they use, and provide working methods for mass bypassing, complete with code and a checklist. Let's get started.
Part 1. Turnstile Under the Hood: Architecture, 55 Parameters, and the Sentinel Challenge
Most of us know Turnstile as a captcha that sometimes requires you to click a checkbox, but in the vast majority of cases, it's invisible. In fact, it's a proactive system that scans your surroundings even before you click anything.1.1. Three Turnstile Operating Modes
Website developers can choose one of three modes:| Mode | UI | What's going on for the scraper? |
|---|---|---|
| Managed (recommended for protection) | Invisible | You might take on Managed Challenge or Interactive Captcha if your score is low. |
| Non‑Interactive | Short-term spinner ("Checking...") | If the passive checks are passed, the token is issued. If not, the user is denied permission to interact. |
| Invisible | Completely invisible | The most brutal modification - no widget, just passive checks, and if you fail, access is permanently denied. |
The Managed Challenge is the most popular in 2027, and it's the one that most often ends with the Captcha we're used to seeing. But with the Non-Interactive spinner or the invisible Captcha, you might not even know it.
1.2. Six Layers of Detection You Should Know
| Layer | What is being checked? | What needs to be done |
|---|---|---|
| IP reputation | ASN data center, history of abuse, blacklists | Use residential or mobile proxies with a fraud speed of <30 |
| TLS fingerprint (JA3 → JA4) | Ciphers, extension order, and TLS 1.3 support | Use curl_cffi or a custom Chromium that emulates a real browser. |
| HTTP/2 and Headers | Headers, pseudo-header order, stream settings | Send the full set of real Chrome headers in the correct order (Accept-Language, Sec-Ch-Ua, etc.) |
| JavaScript Challenge | JS execution, API, time, webGL, canvas | Use a real browser with a full JS engine (not curl_cffi for non-interactive challenges) |
| Behavioral cues | Scroll speed, mouse movement, loading time | Simulate random delays and human imperfections |
| AI Labyrinth (2025+) | Fake honeypot links | Don't follow hidden links outside the viewport and don't trigger invisible JS handlers. |
1.3. Reverse-engineering Turnstile 2027: How the crypto program works
In 2026–2027, Cloudflare upgraded Turnstile to a multi-threaded obfuscated VM. Instead of a single JavaScript bundle, the server now serves the client a special base64-encoded program, which is first XORed with the p token and then executed within the browser's VM. Buchodi researchers discovered that the program analyzes 55 properties across three layers:- Browser layer - screen resolution, fonts, WebGL, DOM manipulation, storage.
- Network layer - Cloudflare headers, edge server information.
- Application layer - on ChatGPT, checks whether the React application has fully rendered and whether all lifecycles have been called.
If any parameter doesn't match — for example, a webgl renderer claims to have an expensive graphics card but renders the image like a software renderer — your score drops sharply. If you can't execute JS code at all (like in requests or cURL), access is denied immediately.
Part 2. Bot Fight Mode and Super Bot Fight Mode – Server-Side Callback Killers
Super Bot Fight Mode is already enabled on many free Cloudflare plans in 2027. It automatically detects bots and throws them either a JS Challenge or a Managed Challenge. However, there's a critical caveat: Bot Fight Mode can't be disabled on the free plan via WAF Custom Rules.Cloudflare explicitly states in its documentation: "You cannot bypass or skip Bot Fight Mode using the Skip action in WAF custom rules or using Page Rules." If your server sends callback requests to a site with a free plan, and you can't provide a static IP address, the requests may be mistakenly flagged as bot traffic and blocked. The only solution is to either disable Bot Fight Mode (though it can be forced on the free plan) or upgrade to a paid plan (which includes Super Bot Fight Mode with flexible rules).
For card payment processing, this mode means that even if you use clean residential proxies and the correct headers, Cloudflare can still trigger a challenge if your asynchronous script calls the payment page directly, rather than through the "home → catalog → product → payment" sequence.
How do you stay undetected?
Part 3. Method 1: Anti-detect browsers and managed browsers without left-hand traces
The most reliable method in 2027 is to use a real browser engine with custom patches that hide low-level automation. Standard Playwright + Stealth are no longer effective: they are detected by intercepting CDP connections.3.1. Nodriver / Rebrowser‑Patches
The nodriver libraries and Chromium patches from the rebrowser community fix the engine at the C++ level, removing headless flags and tweaking sensor emulation. In 2027, they yield a 35–45% success rate against Turnstile — not bad for a low-cost option.
Python:
import asyncio
from nodriver import start
async def main():
browser = await start()
page = await browser.get('https://target-site.com')
await page.wait_for('body', timeout=30000)
print(await page.content())
asyncio.run(main())
3.2. Managed Cloud Browsers (Surfsky, Patchright)
If you process millions of requests per month and don't want to mess with patches, use cloud browsers. They support session persistence (cf_clearance lasts up to a month) and can return already resolved challenges via the HTTP API with a success rate of 98–100%.
Python:
# Session Request
response = requests.post("https://api.surfsky.io/v1/session", json={
"url": "https://target.com",
"proxy": "residential://...",
"timeout": 60000,
})
session_id = response.json()["session_id"]
# Решение Turnstile
turnstile_response = requests.post("https://api.surfsky.io/v1/turnstile", json={
"session_id": session_id,
"site_key": "0x4AAAAAAAByvC...",
})
print(turnstile_response.json()["token"])
3.3. Camoufox и SeleniumBase UC Mode
If you need a low-cost, local option, use SeleniumBase UC Mode. It runs the browser in real user mode with fingerprint substitution via CDP, but with extension support and manual CAPTCHA entry.
Python:
from seleniumbase import Driver
driver = Driver(uc=True, headed=True)
driver.get("https://target-site.com")
driver.uc_gui_click_cf() # manual captcha solution
In 2026 tests, Camoufox demonstrated an 88.58% success rate against Turnstile-heavy targets. This is almost twice as high as that of the naked Playwright.
Part 4. Method 2: CAPTCHA Solver API (CapSolver, 2Captcha)
When a website uses Managed Mode and occasionally displays a captcha, external solvers come to the rescue. CapSolver and 2Captcha can extract the Turnstile token from the widget and pass it on to you to inject into the form.4.1. CapSolver: A Fast Turnstile Token
Python:
import requests, time
CAPSOLVER_KEY = "your_key"
TURNSTILE_SITEKEY = "0x4AAAAAAA..."
URL = "https://target.com/payment"
def get_turnstile_token():
task = requests.post("https://api.capsolver.com/createTask", json={
"clientKey": CAPSOLVER_KEY,
"task": {"type": "AntiTurnstileTaskProxyLess",
"websiteURL": URL,
"websiteKey": TURNSTILE_SITEKEY}
}).json()
task_id = task["taskId"]
for _ in range(30):
time.sleep(2)
result = requests.post("https://api.capsolver.com/getTaskResult", json={
"clientKey": CAPSOLVER_KEY, "taskId": task_id}).json()
if result.get("status") == "ready":
return result["solution"]["token"]
raise TimeoutError("Turnstile not solved")
token = get_turnstile_token()
data = {"cf-turnstile-response": token}
CapSolver also supports invisible captcha and costs approximately 0.50-3-3 per thousand solutions.
4.2. 2Captcha with Turnstile support
2Captcha has a similar mechanism:
Python:
import twocaptcha
solver = twocaptcha.TwoCaptcha('YOUR_API_KEY')
result = solver.turnstile(sitekey='0x4AAAAAAAByvC31sFG0MSlp', url='https://target.com')
token = result['code']
When using a token in a form, be sure to also send the cf-turnstile-response. Otherwise, the server will ignore the payment.
Part 5. Method 3: curl_cffi for simple challenges
curl_cffi is the library that spoofs the browser's TLS fingerprint and sends requests with the same JA3/JA4 parameters as Google Chrome. It works for initial passive checks, but is useless against Turnstile non-interactive mode and Managed Challenges, as it cannot execute JavaScript.
Python:
from curl_cffi import requests
response = requests.get('https://target.com',
impersonate='chrome120',
proxies={'https': 'http://user:pass@proxy:port'})
print(response.cookies.get('cf_clearance'))
But if you've already received a valid cf_clearance cookie through your browser, curl_cffi can reuse it for fast API calls.
Part 6. Method 4: FlareSolver – a real browser container
FlareSolver runs a full instance of undetected-chromedriver inside Docker, solves Turnstile, and returns HTML code along with a cf_clearance cookie. This is the best option for tasks that require processing many different websites and don't require manual customization.
Bash:
docker run -d --name flaresolverr -p 8191:8191 -e LOG_LEVEL=info \
-e CAPTCHA_SOLVER=none ghcr.io/flaresolverr/flaresolverr:latest
Then you send a POST request to localhost:8191/v1:
Python:
response = requests.post("http://localhost:8191/v1", json={
"cmd": "request.get",
"url": "https://target-with-cloudflare.com",
"maxTimeout": 60000,
})
print(response.json()["solution"]["status"]) # 200
print(response.json()["solution"]["cookies"])
If FlareSolver still produces captcha, enable CapMonster by setting the variable CAPTCHA_SOLVER=capmonster.
Part 7. OPSEC and the Checklist: How to Avoid the Ban List
Before any mass carding or scraping, go through these points:- Choose a residential or mobile proxy with a fraud rate of <30. Data centers burn out on cf_clearance within 5 minutes.
- Use curl_cffi for passive checks if your site doesn't require JS. Otherwise, use Cloud Browser or Patchright.
- Set up the correct header sequence and User-Agent in antidetect.
- Add delays (3–5 seconds for page loading, 1–2 seconds for data entry).
- Stick to behavioral emulation: scrolling, mouse hovering, random pauses.
- Save cf_clearance after the first decision and reuse it within the same session.
- If you're using Cloudflare's free plan, be prepared for Bot Fight Mode to block your own callbacks — test beforehand.
Summary
Cloudflare Turnstile and Bot Fight Mode in 2027 are multi-layered VM-obfuscated protections that check 55 browser, network, and application properties. Managed Challenge is the new standard for merchants protected by Cloudflare, while Non-Interactive and Invisible are deadly for scrapers without a real browser.A successful evasion strategy in 2027 looks like this:
- Camoufox or SeleniumBase UC Mode for medium loads (85–90% success).
- CapSolver / 2Captcha for those cases when a visual widget pops up.
- A pool of residential proxies with IPs scattered around the world.
- Cloud browsers (Surfsky) for industrial scale and session persistence.
Don't expect standard Playwright or Puppeteer with plugins to survive an encounter with AI Labyrinth. In 2027, you should be using patched Chromium kernels, switching to residential proxies, and solving captchas via the Solver API.
A quick one-line reminder:
"The old Playwright-Stealth dies on the third request. Camoufox and Patchright increase the success rate to 95%. The Managed Challenge is solved using CapSolver or Surfsky. Without residential proxies and curl_cffi, even cloud browsers are useless. Bot Fight Mod is not disabled on the free plan — if your callbacks are sent without a static IP, prepare to be blocked."
Last edited:
