Welcome to the final lesson of your course on becoming a professional penetration tester and bug bounty hunter!
Throughout this journey, we have covered a vast amount of ground. You've learned to set up your lab, perform reconnaissance, exploit network and web vulnerabilities, escalate privileges, and, in our last lesson, articulate your findings professionally by assigning a CVSS score. Now, it's time to assemble all these pieces into a coherent, repeatable strategy.
This lesson's outcome is to develop a personal methodology for approaching a new target in a bug bounty or penetration testing engagement. A solid methodology is what separates amateurs from professionals. It's your blueprint for turning the chaos of a new target into a structured hunt, ensuring you are efficient, thorough, and effective.

1. What is a Methodology?
A methodology is more than just a checklist; it's a framework for thinking. It guides you through a logical progression of phases, from understanding the target to discovering vulnerabilities. It should be:
- Structured: It has defined phases (e.g., reconnaissance, analysis, exploitation).
- Flexible: You should be able to adapt it to different types of targets and scopes.
- Iterative: Findings in a later phase often feed back into an earlier one. For example, discovering a new subdomain during analysis sends you back to reconnaissance.
Many top-tier hackers have shared their methodologies, and one of the most respected is Jason Haddix's "The Bug Hunter's Methodology." His approach is incredibly practical and forms the foundation of what we will discuss today.
2. The Mindset of a Hunter
Before diving into tools and techniques, it's crucial to address the psychological aspects of hacking. A new, large, or high-profile target can be intimidating.
#NahamCon2022 - Jason Haddix (@jhaddix): The Bug Hunter’s Methodology: Application Analysis v1
In his talk 'The Bug Hunter’s Methodology: Application Analysis v1,' Jason Haddix begins by addressing the mental hurdles that can stop a test before it even starts. Understanding and overcoming these is the first step in any successful engagement.
Watch the section from 07:50 to 14:27. Pay close attention to the hurdles Haddix describes: Client Reputation: Don't be intimidated by big names like Tesla or Google. Pre-testing: Don't assume a target is 'hacked out.' New code is added constantly. Application Size: Don't get overwhelmed. Complexity often means more bugs. Open-Source: Don't assume open-source software is bug-free. Going Deep: The most critical hurdle. You must get past the unauthenticated surface.
The final point is the most important. Many bugs are found in functionality that is only accessible after logging in. Your methodology must push you beyond the surface.

3. Phase 1: Broad Reconnaissance - Mapping the Attack Surface
The goal of reconnaissance is to go from a small set of initial targets (like company.com) to a comprehensive map of the organization's entire digital footprint. This is a breadth-first process where quantity is key.
The following video is a masterclass in this process. Jason Haddix performs a live recon session, demonstrating a powerful, tool-driven workflow.
The Bug Hunter's Methodology Full 2-hour Training by Jason Haddix
Let's watch segments of 'The Bug Hunter's Methodology Full 2-hour Training' to see these techniques in action. This demonstrates how to build a massive list of potential targets from scratch.
This video is long, so we'll focus on key phases. Follow along to understand the flow of reconnaissance: Seed Expansion (05:05 - 11:56): Watch how he finds initial domains and expands them by looking for company acquisitions (Crunchbase) and Autonomous System Numbers (ASNs). ASN & Certificate Mining (11:56 - 17:04): See how he uses amass to scan ASNs and SSL certificates to uncover more related root domains. Analytics & Reverse Lookups (17:04 - 24:01): Observe the use of Reverse Whois and analytics relationship mapping (BuiltWith) to find more seeds. Subdomain Enumeration (40:08 - 42:52): A quick look at running tools like amass and subfinder on the discovered root domains. Finding Live Hosts & Prioritization (48:25 - 59:51, then 1:27:08 - 1:37:43): This is critical. Watch how he uses http-probe to identify live web servers from his giant list of subdomains. Then, see how he uses a screenshotting tool (eyewitness) to visually prioritize which applications look interesting (e.g., old, custom, or erroring pages).
Advanced Reconnaissance Techniques
The techniques in the video will give you 90% of the attack surface. To get the remaining 10%, you can use what Haddix calls "lossy methods." These are noisy and require more manual work but can uncover apex domains that automated tools miss.
The podcast 'Episode 63: JHaddix Returns' discusses some of these advanced, esoteric recon techniques. They are perfect for when you want to go the extra mile to find un-touched assets.
Read the transcript for the section on 'new recon techniques,' from roughly 46:51 to 54:37. Focus on understanding the concepts behind: Reverse Name Server Lookups: Finding all domains that use the same name servers as your target. Reverse DMARC Lookups: Finding all domains that share the same DMARC email configuration. Reverse CSP Lookups: Finding all domains that share the same Content Security Policy.
4. Phase 2: Deep Analysis - Choosing Your Battles
Once you have a list of live web applications, the goal shifts from breadth to depth. It's impossible to manually test thousands of sites. You must prioritize and dig deep into the most promising ones. This is where your computer science background and JavaScript analysis skills will shine.
This phase combines quick automated checks with deep manual analysis.
#NahamCon2022 - Jason Haddix (@jhaddix): The Bug Hunter’s Methodology: Application Analysis v1
Let's return to Jason Haddix's 'Application Analysis v1' talk to build out the second half of our methodology.
Again, we'll watch key segments to build our framework: Initial Triage (14:27 - 26:01): Watch the sections on tech profiling (e.g., Wappalyzer), finding CVEs/misconfigurations (nuclei), and port scanning (nabu). This is about quickly identifying low-hanging fruit. Content Discovery (26:01 - 50:34): This is one of the most important steps. Pay attention to the discussion on tools (feroxbuster), wordlists, recursive brute-forcing, and parsing mobile apps for endpoints. JavaScript Analysis (1:01:41 - 1:10:25): Given your background, this is a key area. See how tools like xnlinkfinder and Burp extensions are used to extract endpoints, parameters, and secrets from JS files. Heat Mapping & Parameter Analysis (1:10:25 - 1:21:10): This is the core of hacker intuition. Understand the concept of a 'heat map' (prioritizing risky functionality like file uploads) and parameter analysis (prioritizing parameters statistically likely to be vulnerable).
5. Assembling Your Personal Methodology
Now, let's synthesize this into a structured, personal workflow. A mind map (like XMind, used by Haddix) or a simple text file in a project folder is excellent for tracking your progress.
Here is a template you can adopt and refine. For a list of specific tool commands, the "Bug Bounty Hunting Methodology 2025" GitHub repository is an excellent quick reference.
My Bug Bounty Methodology v1.0
Phase 0: Scoping and Setup
- Read the program policy thoroughly. Identify all in-scope root domains, IPs, and applications. Note explicit out-of-scope targets and vulnerability types.
- Create a dedicated project directory.
- Start a mind map or notes file (e.g.,
officedepot.xmind).
Phase 1: Reconnaissance (Breadth-First)
- Seed Expansion:
- List primary root domains from the policy.
- Find acquisitions (Crunchbase, Wikipedia).
- Find ASNs (
bgp.he.net,amass intel -org). - Advanced: Use reverse lookups (NS, DMARC, CSP) for more apex domains.
- Subdomain Enumeration:
- Run
subfinderandamasson all discovered root domains. - Perform GitHub dorking for subdomains and secrets.
- Run
- Live Host Discovery:
- Combine all subdomains into a single list, sort, and unique.
- Run
httpxto probe for live web servers. - Run
eyewitnessoraquatoneon the live hosts for visual identification.
Phase 2: Triage and Prioritization (Depth-First)
- Initial Vulnerability Scanning:
- Run
nucleiwith templates for CVEs, default logins, and subdomain takeovers against all live hosts. This may yield quick wins.
- Run
- Visual Triage & Target Selection:
- Review the screenshots. Identify 3-5 of the most promising targets (e.g., custom login portals, old-looking apps, apps with interesting names like
dev-api,vpn).
- Review the screenshots. Identify 3-5 of the most promising targets (e.g., custom login portals, old-looking apps, apps with interesting names like
- Technology Profiling:
- On your selected targets, use
wappalyzer(browser) orwebanalyze(CLI) to identify the tech stack.
- On your selected targets, use
Phase 3: Deep Dive (Manual Analysis)
For each of your 3-5 selected targets:
- Content Discovery: Run recursive directory/file brute-forcing with
feroxbusterorffufusing technology-appropriate wordlists (e.g., from SecLists or Assetnote). - Spidering & JS Analysis:
- Proxy traffic through Burp Suite. Authenticate and browse the entire application to map its functionality.
- Use Burp extensions (
gap, JS Link Finder) orxnlinkfinderto extract all endpoints and parameters from JavaScript files.
- Manual Testing:
- Apply the knowledge from this course!
- Heat Map: Focus on high-risk areas: user profiles, file uploads, admin functions, API endpoints, integrations, password resets.
- Parameter Analysis: Use
gfpatterns to identify and test parameters likely vulnerable to SQLi, XSS, IDOR, LFI, etc. - Ask key questions: How are users referenced (
id=123)? Can I bypass authorization? What is the business logic?
Phase 4: Reporting
- If a vulnerability is found, confirm its impact.
- Write a professional report (Title, Summary, PoC, Impact, Remediation).
- Calculate and include the CVSS vector and score.
This entire process is captured well by the "Two-Eye" Approach mentioned in the "Bug Bounty Hunting Methodology 2025" resource:
- First Eye: Systematic, automated, broad checks (
nuclei, subdomain enumeration). - Second Eye: Creative, manual, deep focus on "interesting" findings that require human intuition.
Test your understanding!
You are approaching a new bug bounty target, megacorp.com. Their program scope is *.megacorp.com. During your initial httpx and eyewitness scan, you find two interesting subdomains:
portal.megacorp.com: A modern-looking, single-page application built with React.old-intranet.megacorp.com: An old-looking PHP application from 2009 with a simple login form.
Based on the methodology, what would be your immediate next steps for each of these targets? How would your approach differ between them?
Show answer
Your approach should adapt to the technology stack of each target.
-
For
portal.megacorp.com(Modern React App):- Focus on Client-Side & APIs: Since it's a single-page application, the core logic is in the JavaScript and the APIs it calls.
- JS Analysis is critical: Run
xnlinkfinderor use Burp'sgapextension to aggressively parse the JavaScript bundles. Look for API endpoints, hidden routes, and hardcoded keys. - API Fuzzing: Map out the API endpoints discovered. Test them for authorization flaws (IDOR, Broken Access Control), business logic issues, and injection vulnerabilities like SQLi or NoSQL injection if it's interacting with a database.
- DOM XSS: Analyze the client-side code for potential DOM-based XSS, as React apps can be vulnerable if they use functions like
dangerouslySetInnerHTML.
-
For
old-intranet.megacorp.com(Old PHP App):- Focus on Server-Side & Common Vulns: Old, likely legacy code is a prime target for classic server-side vulnerabilities.
- Aggressive Content Discovery: Run
feroxbusterordirsearchwith a comprehensive PHP wordlist (e.g., from SecLists). Look for forgotten backup files (.bak,.old), exposed config files (config.php.bak), and old admin panels. - Classic Injection Attacks: Manually test all input fields and URL parameters for classic SQL Injection, Command Injection, and Local/Remote File Inclusion (LFI/RFI).
- Authentication Bypass: Test the login form for SQLi bypasses, weak credentials, or other authentication flaws.
- Known CVEs: Use
nucleito scan for vulnerabilities specific to the identified PHP version or any underlying framework.
The key difference is the focus: the React app requires a deep dive into the client-side code and APIs, while the old PHP app warrants a thorough search for classic server-side vulnerabilities and misconfigurations.
Conclusion
Congratulations on completing this course! You have journeyed from foundational concepts to the advanced strategies used by professional security researchers.
Developing a personal methodology is the capstone of this entire process. It's the engine that will drive your hunting and testing engagements. It provides structure to your creativity and ensures that you are both thorough and efficient. Remember, this is your methodology—it should evolve as you learn new techniques, discover new tools, and gain more experience.
Key Takeaways:
- A methodology is a structured but flexible framework, not a rigid script.
- A great methodology balances broad, automated reconnaissance with deep, manual analysis.
- Start broad to map the entire attack surface, then narrow your focus to the most promising targets.
- Document your process and findings, using tools like mind maps to keep track of your exploration.
- Your methodology is a living document. Continuously refine it with every target you test.
You now possess the knowledge and the strategic blueprint to begin your career. The next step is to take this methodology and apply it. Start with a public bug bounty program, perhaps one with a vulnerability disclosure policy (VDP) that allows for safe testing, and begin your hunt. Good luck