October 16, 2026
My Complete Hunting Methodology: From First Recon to First Bounty
A complete, no-fluff walkthrough of how to actually hunt for vulnerabilities written so a beginner can follow every step, and still packedโฆ

By Monika
5 min read
- 1 A complete, no-fluff walkthrough of how to actually hunt for vulnerabilities written so a beginner can follow every step, and still packed with tricks that experienced hunters often skip talking about.
- 2 Phase 1: Understand the Target Before You Touch It
- 3 Phase 2: Recon โ Mapping the Entire Attack Surface
- 4 Technology Fingerprinting
- 5 Phase 3: Understand the Application Like a User โ and Like an Attacker
A complete, no-fluff walkthrough of how to actually hunt for vulnerabilities written so a beginner can follow every step, and still packed with tricks that experienced hunters often skip talking about.
Every bug bounty hunter remembers their first few weeks. You open a program, you have no idea where to even click first, and every beginner guide online just says do recon, then test for XSS and SQLi without ever explaining how.
This article is different. I'm going to walk you through my actual methodology, start to finish, the way I really run it on a new target. If you're new, you'll leave knowing exactly what to do first, second, and third. If you've been hunting for a while, I've added a few habits in the later sections that even experienced hunters tend to skip โ and those are usually where the real bugs hide.
Phase 1: Understand the Target Before You Touch It
This is the step almost everyone rushes past โ and it's the single biggest reason beginners waste weeks finding nothing.
Before opening Burp Suite, spend 30โ60 minutes just reading:
- What does this company actually do? (fintech, e-commerce, SaaS, healthcare โ each has different "juicy" bug types)
- Read their bug bounty policy line by line. What's explicitly in scope? What's explicitly out of scope? What bug classes do they say they care about most?
- Check their public engineering blog, GitHub org, and job postings. A job listing asking for "Go microservices engineer, Kafka experience" tells you their backend stack โ that's free intel.
Why this matters: A payments company will reward business-logic bugs (like double-spending or race conditions) far more than a reflected XSS. If you don't know what they value, you'll spend your time on low-priority bugs.
Phase 2: Recon โ Mapping the Entire Attack Surface
Recon isn't just "running a few Google dorks." Real recon is about building a complete map of everything the target owns, before you test anything.
Subdomain Enumeration
Don't rely on just one method โ combine them:
- Certificate Transparency logs:
crt.sh/?q=%.target.comโ shows every subdomain that ever had an SSL cert issued. - Google Dorking:
site:*.target.comโ shows what's indexed. - Tools (if allowed by scope rules): subfinder, amass, assetfinder, these pull from dozens of sources automatically.
Google Dorking for Exposed Assets
This is passive, zero-risk, and still works shockingly often:
site:target.com filetype:env OR filetype:log OR filetype:sql
site:target.com inurl:admin OR inurl:config OR inurl:internal
site:target.com intitle:"index of"
site:github.com "target.com" api_key OR secretsite:target.com filetype:env OR filetype:log OR filetype:sql
site:target.com inurl:admin OR inurl:config OR inurl:internal
site:target.com intitle:"index of"
site:github.com "target.com" api_key OR secretContent Discovery (on live, in-scope hosts)
Once you have a list of live subdomains, brute-force hidden paths with tools like ffuf or dirsearch, using a solid wordlist (SecLists is the gold standard). You're looking for:
- /api/, /internal/ , /admin/ , /.git/ , /swagger/ , /graphql
- Old, forgotten endpoints that still work but aren't linked anywhere on the site
Technology Fingerprinting
Use Wappalyzer (browser extension) or whatweb to identify the tech stack โ frameworks, CMS, server software, JS libraries. This tells you which known vulnerability classes apply. Old jQuery version? Check for known XSS gadgets. Rails app? Look at cookie/session handling patterns.
Phase 3: Understand the Application Like a User โ and Like an Attacker
This is the step beginners skip the most, and it's the one I'd argue matters more than any tool.
Create a normal account. Use the app exactly as intended for 20โ30 minutes:
- Every button, every form, every settings page
- Note every place where you give the app data (forms, file uploads, URL parameters)
- Note every place where the app gives you data back (API responses, downloads, exports)
While doing this, keep your proxy (Burp Suite) running in the background so every single request gets logged. You're not testing yet โ you're building a map of the entire request/response surface. This map becomes your checklist for Phase 4.
Pro tip even experienced hunters forget: Do this once as a normal user, and do it again as two separate accounts side by side. This second pass is how you catch IDOR and broken access control โ you literally cannot find these bugs with only one account.
Phase 4: Testing โ Go Class by Class, Not Randomly
Beginners tend to "poke around randomly." Pros work through a structured checklist. Here's the order I personally use, roughly ranked by how often they pay off:
- Broken Access Control / IDOR
With your two test accounts, swap IDs in every API call, URL parameter, and request body. Try:
- Sequential IDs (/api/orders/1001 โ 1002)
- UUIDs that you've seen elsewhere in the app (don't guess โ collect them from your own map)
- Changing a role/permission field in a request body, even if the UI doesn't expose it
- Authentication & Session Flaws
- Does password reset leak whether an email exists?
- Can you reuse a session token after logout?
- Is there rate limiting on login/OTP endpoints?
- Decode JWTs (jwt.io) โ check alg: none, weak signing secrets, and what claims are inside
- Business Logic Flaws
These are the most underrated bug class and often pay the highest because they're unique to each app:
- Can you apply a discount coupon twice?
- Can you submit a negative quantity in a cart?
- Can you skip a required step by calling a later API directly?
- Race conditions: send the same "redeem" or "withdraw" request 10 times in parallel (Burp's Turbo Intruder is built for this)
- Injection (SQLi, SSRF, Command Injection)
Don't just throw a payload and hope. Understand the data flow if a parameter gets passed to an internal service, a database query, or a URL fetch, that's your injection candidate. SSRF especially is highvalue right now: look for any feature that fetches a URL on your behalf (webhooks, PDF generators, imagefromURL uploaders, link previews).
- XSS and ClientSide Bugs
Still common, but increasingly harder on modern frameworks (React/Vue autoescape by default). Focus on:
- dangerouslySetInnerHTML / vhtml usage
- PostMessage handlers with no origin check
- File upload features that render usercontrolled filenames or SVGs
- Information Disclosure
Error messages, verbose stack traces, exposed .git folders, source maps left in production (/static/js/main.js.map) โ these don't always pay directly, but they often reveal exactly what to test next.
Phase 5: Reporting โ Where Most Bounty Value Gets Lost
A real, exploitable bug with a weak report gets triaged slower and often pays less than it should. A mediocre bug with an excellent report sometimes gets upgraded in severity.
A strong report includes:
- Clear, numbered reproduction steps โ assume the triager has zero context
- Impact explained in business terms, not just technical terms this allows any user to view another user's private transaction history beats "IDOR on /api/txn/{id}"
- A short video or clean screenshots โ triagers are busy; make it effortless for them to verify
- A suggested fix, if you have one โ this signals maturity and sometimes nudges severity up
Tricks That Separate Good Hunters From Great Ones
A few habits that aren't "beginner tips" but genuinely move the needle once you've got the basics down:
- Diff the app over time. Save responses from your first pass, and recheck the same endpoints weeks later. Companies change code constantly โ bugs get introduced and fixed on a rolling basis, and most hunters only ever test once.
- Read the JS bundle. Modern frontends ship their entire clientside logic as JS. Beautify and read
main.jsโ you'll find hidden API routes, feature flags, and sometimes hardcoded internal URLs that never show up in the UI. - Watch for mobile/APIonly endpoints. If the target has a mobile app, intercept its traffic (via Burp + a rooted device or Frida). Mobile APIs are often less hardened than the web app because fewer people test them.
- Collaborate instead of hoarding. Chaining a lowseverity bug you found with someone else's lowseverity bug can produce a critical. This is how some of the highestpaid reports in bounty history happened.
Final Thoughts
Bug hunting isn't about knowing every CVE or memorizing payload lists. It's about being systematic understanding a target well enough that you instinctively know where the broken assumptions are likely hiding. Beginners win by being thorough where others are lazy. Pros win by noticing the one thing everyone else walked past.
Pick one inscope target today, work through these five phases in order, and don't skip Phase 1 and 3 just because they feel "less technical" that's exactly where most hunters leave bugs on the table.
THANK YOU
Monika Hi, I'm Monika โจI break down real-world bug bounty reports into simple, practical write-ups.If my articles help youโฆ