Bits Kingdom logo with a hexagon lattice, uppercase text in white, and a minimalistic design.

Under Attack: How to Detect Bots That Evade Cloudflare and Other WAFs

Chapter 5: Walk like users, talk like users, and still steal your data

by Jul 16, 2025Development

Home / Development / Under Attack: How to Detect Bots That Evade Cloudflare and Other WAFs

You’ve tightened your firewall, toggled on Cloudflare’s bot management, and maybe even sprinkled in some CAPTCHA. Yet the traffic keeps coming: precise, persistent, and annoyingly polite.

Welcome to the era of stealth bots.

Today’s bots aren’t just throwing curl at your endpoints. They run full browser engines, solve CAPTCHAs with AI, and use residential proxies to look like your mom browsing from her iPad. And if your detection relies solely on IP reputation or WAF rules, you might already be letting them in.

Wooden shield representing defense against stealthy cyberattacks.

The Anatomy of a Modern Stealth Bot

These aren’t script kiddies with loops and hope. The latest generation of bots mimics human interaction at a creepy level of detail. They:

  • Launch real browser sessions using headless Chrome or Puppeteer
  • Outsource CAPTCHA solving to services or in-house ML
  • Rotate residential IPs to spoof real user geography
  • Slow down and distribute traffic to fly under the radar

They don’t trip rate limits or trigger obvious red flags. That’s the point.

Why WAFs Miss the Sneaky Ones

Cloudflare, AWS WAF, and others do a great job blocking the noisy stuff. But stealth bots don’t show up with flashing lights. They:

  • Use valid TLS fingerprints and headers
  • Pass JavaScript challenges with ease
  • Trigger just enough page loads to seem legitimate

WAFs detect based on known patterns. These bots learn your patterns, then avoid them.

Four Ways to Spot the Bots That Don’t Want to Be Seen

1. Behavioral Fingerprinting

Humans are messy. Bots are… too perfect.

Look for interaction patterns that don’t feel organic. Clicking too fast. Navigating too efficiently. Visiting exactly the same pages in the same order.

Tools to use:

  • FingerprintJS or BotD
  • Custom JavaScript tracking for mouse movement, timing irregularities

2. Invisible Honeypots

Humans don’t see display:none. Bots do, and sometimes they autofill those fields.

Add hidden form inputs as traps. If a submission includes values there, it’s not coming from a human.

Example:

htmlCopyEdit<input name="bot_trap" style="display:none">

3. Rate + Spread Analysis

Instead of looking at raw traffic volume, analyze the patterns across geography, time, and devices.

  • Are login attempts for the same account happening from 40 cities?
  • Are hundreds of different IPs submitting the exact same payloads?
  • Are browser fingerprints weirdly consistent?

Tools to help:

  • ELK, Splunk, or Wazuh with custom queries
  • Cloudflare log insights for request patterns

4. Progressive Challenges

Not every user needs a CAPTCHA. But sketchy ones? Challenge away.

Build conditional logic to only challenge when signals stack up:

  • Low bot score
  • Unusual device
  • Velocity or behavior that breaks the norm

Example Cloudflare rule:

yamlCopyEdit(http.request.uri.path eq "/login") and (cf.bot_management.score < 30)

Tools That Actually Help

ToolWhat It Does
FingerprintJSTracks device/browser signatures
Cloudflare Bot MgmtScore-based risk detection
Honeypot.jsDetects autofilling bots
Splunk / WazuhCustom anomaly detection across logs

Final Thought

“Your biggest threat might be the bot that looks most human.”

The goal isn’t to block traffic. It’s to understand behavior and spot what doesn’t belong. Because in this game, the most dangerous intruder is the one who looks like they should be there.

📚 The “Under Attack” Series: Your Incident Readiness Playbook

Missed a chapter? Want to send this to someone who’s still relying on hope and default settings? Here’s the full series in order, five fast reads that cover detection, defense, and cleanup.

  1. 5 Signs You’re Already Under Attack and Don’t Know It Yet
    Your infrastructure might be compromised — even if nothing’s “broken.” Here’s what to look for when attackers are quiet but active.
  2. Under Attack: How to Fortify Cloudflare Against Brute-Force and Credential Stuffing Attacks
    Tuning Cloudflare’s WAF isn’t set-it-and-forget-it. These config changes actually block bots without locking out real users.
  3. Under Attack: 5 Rapid Actions to Defend Your Platform from Real-Time Credential Stuffing
    Under fire? Here’s what to do in the first 15 minutes — from live IP throttling to auto-rotating exposed secrets.
  4. Under Attack: The Hidden Risks of Ignoring Post-Attack Forensics
    The attack stopped, but did the attacker actually leave? Why skipping the postmortem might leave your door wide open.
  5. Under Attack: How to Detect Bots That Evade Cloudflare and Other WAFs
    The most dangerous bots don’t look like bots. This guide shows how to detect what WAFs can’t — and take action before they blend in.

About the author

<a href="https://bitskingdom.com/blog/author/maria/" target="_self">Maria Nario</a>
Maria Nario
As a co-founder of BitsKingdom and a Bachelor of Science in Communication, I bring years of experience as a copywriter to everything I do. I’ve spent my career building connections through words. Now, I juggle a variety of moving parts while maintaining a sense of calm and focus, even when it feels like the world is falling apart.

Explore more topics: