09 Vulnerability Validation and Exploit Development
Welcome to:
Module 09 — Vulnerability Validation and Exploit Development
At this stage of the learning path, you can:
Discover Assets ↓Map Attack Surface ↓Understand Applications ↓Identify Interesting Behavior ↓Build Security HypothesesBut discovering something unusual does not automatically mean:
VulnerabilityProfessional security research requires you to determine:
Is It Reproducible?
Is a Security Boundary Broken?
Who Can Exploit It?
What Preconditions Exist?
What Capability Is Gained?
What Is the Real Impact?This process is:
VulnerabilityValidationOnce a vulnerability has been confirmed, you may need to construct a controlled:
Proof of Conceptthat demonstrates the issue clearly without causing unnecessary impact.
The objective is not:
Maximum ExploitationIt is:
Minimum Proof +Maximum ClarityModule Objectives
Section titled “Module Objectives”By the end of this module, you will understand how to:
-
distinguish observations from confirmed vulnerabilities.
-
build structured security hypotheses.
-
reproduce suspicious behavior.
-
establish a reliable baseline.
-
identify false positives.
-
determine vulnerability preconditions.
-
identify affected security boundaries.
-
analyze attacker capabilities.
-
understand exploitability.
-
build controlled proof-of-concepts.
-
understand exploit development in bug bounty contexts.
-
distinguish vulnerability validation from weaponization.
-
perform differential testing.
-
validate authorization vulnerabilities.
-
validate authentication weaknesses.
-
validate injection behavior safely.
-
validate server-side request behavior.
-
validate file-handling weaknesses.
-
validate business-logic vulnerabilities.
-
analyze multi-step vulnerabilities.
-
build attack paths.
-
chain vulnerabilities conceptually.
-
determine vulnerability scope.
-
evaluate confidentiality impact.
-
evaluate integrity impact.
-
evaluate availability impact.
-
assess privilege gained.
-
determine affected users.
-
analyze blast radius.
-
validate vulnerabilities with multiple accounts.
-
minimize access to sensitive information.
-
collect reproducible evidence.
-
create proof-of-concept documentation.
-
maintain validation notebooks.
-
determine when to stop testing.
-
communicate uncertainty accurately.
-
prepare findings for professional reporting.
1 — Observation vs Vulnerability
Section titled “1 — Observation vs Vulnerability”You may observe:
Unexpected Response
Different Status Code
Hidden Endpoint
Interesting Parameter
Error Message
Unusual Authorization BehaviorThese are:
Observationsnot automatically vulnerabilities.
A vulnerability requires evidence that a:
Security Requirementor:
Security Boundaryhas failed.
2 — The Validation Process
Section titled “2 — The Validation Process”Use:
Observation ↓Hypothesis ↓Baseline ↓Controlled Test ↓Reproduce ↓Security Boundary ↓Capability ↓Impact ↓Evidence3 — Security Hypothesis
Section titled “3 — Security Hypothesis”A hypothesis is a testable security statement.
Weak hypothesis:
Maybe IDORBetter:
A standard authenticateduser may be able to accessanother user's privateinvoice by changing theinvoice identifier.4 — Hypothesis Structure
Section titled “4 — Hypothesis Structure”Use:
Actor ↓Action ↓Target ↓Expected Control ↓Potential FailureExample:
User B ↓Requests User A's File ↓Application Should Deny ↓Application May Return File5 — Hypothesis Register
Section titled “5 — Hypothesis Register”Create:
Validation_Hypotheses.csvwith:
| ID | Asset | Hypothesis | Preconditions | Test | Result |
|---|
6 — Establish a Baseline
Section titled “6 — Establish a Baseline”Before modifying anything, understand:
NormalApplication BehaviorFor example:
User A ↓Requests Own Profile ↓200 OKThis becomes your:
Baseline7 — Change One Variable
Section titled “7 — Change One Variable”A strong testing principle is:
ChangeOne Variableat a TimeExample:
Baseline:GET /invoice/1001
Test:GET /invoice/1002This makes it easier to understand:
Cause ↓Effect8 — Differential Testing
Section titled “8 — Differential Testing”Compare:
ExpectedBehavioragainst:
ObservedBehaviorExample:
| Test | Expected | Observed |
|---|---|---|
| Owner accesses object | Allowed | Allowed |
| Other user accesses object | Denied | Allowed |
This difference may establish:
Authorization Failure9 — Reproducibility
Section titled “9 — Reproducibility”A valid finding should generally be:
RepeatableAsk:
Can I Reproduce It?
Under Which Conditions?
Does It Happen Consistently?10 — Why Reproduction Matters
Section titled “10 — Why Reproduction Matters”A single unusual response may result from:
Caching
Race Condition
Temporary Error
Session State
Application Bug
Network BehaviorReproduction helps distinguish:
Security Vulnerabilityfrom:
Random Behavior11 — Record Preconditions
Section titled “11 — Record Preconditions”A vulnerability may require:
Authentication
Specific User Role
Object Knowledge
Invitation
Feature Access
Account StateDocument these precisely.
12 — Preconditions Matter
Section titled “12 — Preconditions Matter”Compare:
UnauthenticatedRemote Userwith:
Organization Administratorwith Existing PrivilegesThe security impact may be very different.
13 — Attacker Model
Section titled “13 — Attacker Model”Define:
Who Is theAttacker?Examples:
Unauthenticated Internet User
Standard Customer
Premium Customer
Organization Member
Low-Privilege Employee14 — Victim Model
Section titled “14 — Victim Model”Also determine:
Who IsAffected?Examples:
Another User
Another Tenant
Administrator
Organization
All Customers15 — Security Boundary
Section titled “15 — Security Boundary”A vulnerability typically crosses a boundary such as:
Unauthenticated ↓Authenticatedor:
User A ↓User Bor:
Tenant A ↓Tenant Bor:
Standard User ↓Administrator16 — Trust Boundary Map
Section titled “16 — Trust Boundary Map”Create:
Trust_Boundary_Map.mdExample:
Internet ↓Authentication ↓User Account ↓Authorization ↓Tenant Resource ↓Privileged Function17 — Identify the Broken Control
Section titled “17 — Identify the Broken Control”Ask:
Which ControlShould HaveStopped This?Possible answers:
Authentication
Authorization
Input Validation
Tenant Isolation
Rate Limiting
Workflow Validation
Permission Check18 — False Positives
Section titled “18 — False Positives”A false positive occurs when behavior appears vulnerable but does not create the suspected security impact.
Example:
Hidden Admin Endpointmay return:
200 OKbut the response might contain only:
Public Static HTMLwhile privileged API actions remain protected.
19 — Status Codes Are Not Proof
Section titled “19 — Status Codes Are Not Proof”Do not conclude:
200 = Vulnerableor:
403 = SecureAnalyze:
Response Body
Application State
Backend Action
Authorization Result20 — Error Messages
Section titled “20 — Error Messages”An error such as:
SQL Syntax Errormay indicate:
InterestingApplication Behaviorbut does not automatically establish:
Exploitable SQL InjectionFurther controlled validation is required.
21 — Validation Depth
Section titled “21 — Validation Depth”Validation should answer:
Does the Issue Exist?
Can It Be Reproduced?
What Capability Is Gained?
What Is the Impact?Once those questions are answered:
StopYou usually do not need to demonstrate every possible consequence.
22 — Minimum Necessary Proof
Section titled “22 — Minimum Necessary Proof”Follow:
MinimumNecessaryValidationExample:
If you can demonstrate unauthorized access using:
Two Researcher-Controlled Accountsthere is usually no reason to access:
Real Customer Data23 — Proof of Concept
Section titled “23 — Proof of Concept”A Proof of Concept demonstrates:
How theVulnerability WorksA good PoC should be:
Minimal
Repeatable
Understandable
Safe24 — PoC Is Not Weaponization
Section titled “24 — PoC Is Not Weaponization”Bug bounty exploit development should generally focus on:
ControlledDemonstrationnot:
Persistent Access
Destructive Payloads
Mass Exploitation
Stealth
Operational Weaponization25 — PoC Structure
Section titled “25 — PoC Structure”A strong PoC contains:
Preconditions
Accounts
Requests
Changed Input
Observed Result
Expected Result
Security Impact26 — PoC Notebook
Section titled “26 — PoC Notebook”Create:
PoC_Notebook.mdwith:
# Finding
# Preconditions
# Environment
# Baseline
# Test
# Expected Result
# Actual Result
# Evidence
# Impact
# Cleanup27 — Authorization Validation
Section titled “27 — Authorization Validation”Suppose:
User AOwnsObject Aand:
User BOwnsObject BTest:
User B ↓Requests Object AExpected:
DeniedPotential vulnerability:
Allowed28 — Use Controlled Accounts
Section titled “28 — Use Controlled Accounts”For authorization testing, prefer:
Research Account A
Research Account BThis allows you to demonstrate:
Cross-User Accesswithout touching unrelated users.
29 — Horizontal Privilege Escalation
Section titled “29 — Horizontal Privilege Escalation”Conceptually:
User A ↓User B's ResourceExamples:
Profile
Invoice
Document
Project
Message30 — Vertical Privilege Escalation
Section titled “30 — Vertical Privilege Escalation”Conceptually:
Standard User ↓Administrative CapabilityThe important question is:
What PrivilegeWas Actually Gained?31 — Multi-Tenant Validation
Section titled “31 — Multi-Tenant Validation”For SaaS applications:
Tenant A ↓Tenant Bis a particularly important security boundary.
Use researcher-controlled:
Organization A
Organization Bwhere possible.
32 — Object-Level Authorization
Section titled “32 — Object-Level Authorization”Test whether authorization is enforced for:
Read
Update
Delete
Export
ShareBut do not perform destructive actions merely to prove the issue.
33 — Safe Write Validation
Section titled “33 — Safe Write Validation”If you need to establish unauthorized modification:
Use Your OwnTest Objector another explicitly authorized lab object.
Change:
HarmlessTest Valueand restore it afterwards.
34 — Authentication Validation
Section titled “34 — Authentication Validation”Authentication findings may involve:
Login
Password Reset
MFA
Session Creation
Account Recovery
SSODetermine whether an attacker can actually:
BecomeAnother Identityor bypass a required authentication step.
35 — Session Validation
Section titled “35 — Session Validation”Potential questions:
Does SessionRemain ValidAfter Logout?
After Password Change?
After Account Disable?
After MFA Change?Use controlled accounts.
36 — Password Reset Validation
Section titled “36 — Password Reset Validation”Map:
Request Reset ↓Generate Token ↓Deliver Token ↓Validate Token ↓Change PasswordThen identify:
Where Is theSecurity Boundary?37 — MFA Validation
Section titled “37 — MFA Validation”Map:
Primary Authentication ↓MFA Challenge ↓Session IssuedThe critical question:
Can theMFA RequirementBe Bypassed?38 — Input Validation Findings
Section titled “38 — Input Validation Findings”Input-handling weaknesses may include:
Injection
Path Manipulation
Unsafe URLs
Template Processing
File ProcessingValidation should begin with:
Non-DestructiveIndicators39 — Injection Validation
Section titled “39 — Injection Validation”The objective is to establish:
User-Controlled Input ↓Unexpected InterpreterBehaviorwithout:
Extracting Entire Database
Modifying Data
Executing Destructive Actions40 — Controlled Injection Proof
Section titled “40 — Controlled Injection Proof”Prefer evidence demonstrating:
Behavior Difference
Controlled Error
Controlled Response
Harmless Evaluationwhere appropriate and permitted.
41 — Do Not Dump Data
Section titled “41 — Do Not Dump Data”If injection is established:
Do NotDump the Databasesimply to increase report impact.
Demonstrate the smallest amount necessary.
42 — SSRF Validation
Section titled “42 — SSRF Validation”For suspected server-side request behavior, determine:
Does the ServerMake the Request?Use infrastructure you control where possible.
Conceptually:
Application ↓Researcher-Controlled URL ↓Researcher Server43 — SSRF Evidence
Section titled “43 — SSRF Evidence”Useful evidence might include:
Request Timestamp
Source Characteristics
Unique Token
Request PathThis can establish:
Server-SideInteractionwithout targeting sensitive internal services.
44 — SSRF Impact
Section titled “44 — SSRF Impact”Once server-side fetching is established, assess:
Network Position
Protocol Restrictions
Response Visibility
Authentication Context
Cloud Environmentwithout unnecessarily accessing internal production resources.
45 — File Upload Validation
Section titled “45 — File Upload Validation”For suspected upload weaknesses determine:
Accepted File Type
Storage Location
Serving Behavior
Execution Context
Access ControlUse:
HarmlessTest Files46 — File Download Validation
Section titled “46 — File Download Validation”For download functionality determine:
How Is theRequested FileSelected?Potential boundaries:
User Ownership
Tenant Ownership
Storage Authorization
Path Restrictions47 — Path Handling
Section titled “47 — Path Handling”If testing path behavior, use:
ControlledNon-SensitiveFilesrather than attempting to retrieve sensitive operating-system or application secrets.
48 — Business Logic Validation
Section titled “48 — Business Logic Validation”Business logic vulnerabilities often require understanding:
ExpectedWorkflowbefore testing:
UnexpectedWorkflow49 — Workflow Modeling
Section titled “49 — Workflow Modeling”Example:
Create Order ↓Pay ↓Confirm ↓ShipPotential hypothesis:
Can ConfirmationOccur WithoutSuccessful Payment?50 — State Transition Testing
Section titled “50 — State Transition Testing”Represent workflow states:
Created
Pending
Approved
Completed
CancelledThen ask:
Which TransitionsShould Be Allowed?51 — Business Rule
Section titled “51 — Business Rule”Example:
RefundAllowed OnlyAfter PaymentPotential vulnerability:
Application AllowsRefund BeforePaymentBut impact must be:
DemonstratedSafely52 — Race Condition Validation
Section titled “52 — Race Condition Validation”Race conditions occur when:
Multiple Operationsinteract unexpectedly because of timing.
Validation should use:
Researcher-ControlledResourcesand avoid creating:
Financial
Inventory
Operationalimpact.
53 — Rate Limit Validation
Section titled “53 — Rate Limit Validation”Rate-limit findings should establish:
Security Impactnot merely:
Many RequestsAre AcceptedExamples of relevant contexts include:
Authentication
Recovery
Verification
Sensitive Actions54 — Do Not Stress Production
Section titled “54 — Do Not Stress Production”Testing rate controls does not require:
Maximum TrafficUse the minimum request volume necessary to understand behavior.
55 — Exploitability
Section titled “55 — Exploitability”Exploitability asks:
Can a RealisticAttacker ActuallyUse This?Consider:
Access Required
Knowledge Required
User Interaction
Timing
Privileges
Environment
Reliability56 — Exploitability Matrix
Section titled “56 — Exploitability Matrix”Create:
Exploitability_Matrix.csvwith:
| Finding | Access | Complexity | Interaction | Reliability | Impact |
|---|
57 — Reliability
Section titled “57 — Reliability”A vulnerability may be:
Reliable
Intermittent
Highly ConditionalDocument this honestly.
58 — Exploit Preconditions
Section titled “58 — Exploit Preconditions”Example:
Attacker Must:
Have Account
Know Victim Object ID
Belong to Same OrganizationThese conditions affect:
Practical Risk59 — Capability Analysis
Section titled “59 — Capability Analysis”Do not ask only:
What BugIs This?Ask:
What CapabilityDoes the Attacker Gain?Examples:
Read Data
Modify Data
Perform Action
Assume Identity
Reach Internal Service
Gain Privilege60 — Capability Before Severity
Section titled “60 — Capability Before Severity”First establish:
CapabilityThen determine:
ImpactThen consider:
Severity61 — Confidentiality Impact
Section titled “61 — Confidentiality Impact”Ask:
Can UnauthorizedData Be Read?Examples:
Profile Data
Documents
Messages
Tokens
Secrets62 — Integrity Impact
Section titled “62 — Integrity Impact”Ask:
Can UnauthorizedData or StateBe Modified?Examples:
Profile
Permissions
Orders
Configuration
Files63 — Availability Impact
Section titled “63 — Availability Impact”Ask:
Can an AttackerDisrupt the Service?Do not deliberately cause:
ProductionOutagesto prove availability impact.
64 — Identity Impact
Section titled “64 — Identity Impact”Ask:
Can the AttackerBecome Another User?This may involve:
Account Takeover
Session Hijacking
Recovery Bypass65 — Privilege Impact
Section titled “65 — Privilege Impact”Ask:
Can the AttackerGain Higher Privilege?For example:
User ↓Moderator ↓Administrator66 — Scope of Impact
Section titled “66 — Scope of Impact”Determine whether the issue affects:
One Object
One User
One Tenant
Many Users
Entire Platform67 — Blast Radius
Section titled “67 — Blast Radius”Blast radius means:
How MuchCould BeAffected?Estimate from architecture and demonstrated capability.
Do not access large numbers of real resources to calculate it.
68 — Impact Extrapolation
Section titled “68 — Impact Extrapolation”If one controlled test proves that:
Authorization CheckIs Missingyou may be able to explain potential broader impact through:
Architecture
Endpoint Behavior
Object Modelwithout enumerating victims.
69 — Attack Paths
Section titled “69 — Attack Paths”Some findings become meaningful only when combined with another condition.
Example:
Information Disclosure ↓Object Identifier ↓Broken Authorization ↓Private Document AccessThis becomes an:
Attack Path70 — Attack Path Structure
Section titled “70 — Attack Path Structure”Use:
Entry Point ↓Primitive ↓Trust Boundary ↓Capability ↓Target ↓Impact71 — Vulnerability Primitive
Section titled “71 — Vulnerability Primitive”A primitive is a capability such as:
Read Arbitrary Object
Control URL
Modify Parameter
Create Invitation
Reuse TokenThese primitives can sometimes combine.
72 — Chaining
Section titled “72 — Chaining”Conceptually:
Finding A ↓Provides Capability ↓Finding B ↓Creates Greater ImpactThis is:
VulnerabilityChaining73 — Do Not Force Chains
Section titled “73 — Do Not Force Chains”Two findings should not be chained merely to create:
Higher SeverityThe chain should be:
Realistic
Reproducible
Technically Connected74 — Attack Path Register
Section titled “74 — Attack Path Register”Create:
Attack_Paths.csvwith:
| Step | Finding | Capability | Boundary | Result |
|---|
75 — Example Authorization Attack Path
Section titled “75 — Example Authorization Attack Path”Standard User ↓Enumerates Own Object Format ↓Changes Object Identifier ↓Missing Ownership Check ↓Other User's Object Returned76 — Example Cloud Attack Path
Section titled “76 — Example Cloud Attack Path”Application Input ↓Server-Side Request ↓Cloud Workload ↓Workload Identity ↓Cloud ResourceEach transition should be validated only as far as necessary and authorized.
77 — Example Account Attack Path
Section titled “77 — Example Account Attack Path”Password Reset ↓Weak Token Binding ↓Victim Reset Flow ↓Account ControlAgain, use controlled accounts.
78 — Exploit Development
Section titled “78 — Exploit Development”In professional bug bounty work, exploit development often means creating:
ReliableProof of Conceptthat demonstrates the security failure.
It should not automatically mean:
Weaponized Exploit79 — Exploit Development Goals
Section titled “79 — Exploit Development Goals”A controlled PoC should:
Reduce Manual Steps
Improve Reproducibility
Clearly Show Impact
Avoid Unnecessary Actions80 — PoC Inputs
Section titled “80 — PoC Inputs”Document:
Target
Account
Object
Parameter
Required State81 — PoC Outputs
Section titled “81 — PoC Outputs”A useful PoC should show:
Expected Result
Actual Result
Security Boundary Broken82 — Safe PoC Design
Section titled “82 — Safe PoC Design”Prefer PoCs that:
Read Test Data
Modify Test Data
Call Researcher Infrastructure
Use Test AccountsAvoid PoCs that:
Delete Data
Create Persistence
Access Real Customers
Disrupt Services83 — Manual PoC First
Section titled “83 — Manual PoC First”Before automating:
Understandthe VulnerabilityManuallyThen automate only if it improves:
Reproducibility84 — Do Not Automate Uncertainty
Section titled “84 — Do Not Automate Uncertainty”If you are unsure what a request does:
Do NotMass Automate ItUnderstand the action first.
85 — Evidence Collection
Section titled “85 — Evidence Collection”Evidence should establish:
Precondition
Action
Expected Behavior
Observed Behavior
Impact86 — Request Evidence
Section titled “86 — Request Evidence”Record only necessary details such as:
Method
Endpoint
Relevant Headers
Relevant Parameters
Relevant BodyRedact:
Tokens
Cookies
Passwords
Secrets87 — Response Evidence
Section titled “87 — Response Evidence”Capture:
Status
Relevant Body
Object Ownership
Security-Relevant DifferenceAvoid including unnecessary private information.
88 — Screenshots
Section titled “88 — Screenshots”Screenshots can help demonstrate:
Visible Impact
User Context
Application StateBut raw request/response evidence is often more useful for technical reproduction.
89 — Evidence Timeline
Section titled “89 — Evidence Timeline”For complex findings create:
Evidence_Timeline.mdExample:
10:00 — Created Account A
10:05 — Created Account B
10:10 — Account A Created Object
10:15 — Account B Requested Object
10:16 — Unauthorized Object Returned90 — Reproduction Steps
Section titled “90 — Reproduction Steps”Good reproduction steps should allow the security team to:
ReproduceWithout GuessingUse:
1. Preconditions2. Setup3. Baseline4. Test5. Result6. Impact91 — Avoid Unnecessary Steps
Section titled “91 — Avoid Unnecessary Steps”Do not create a PoC containing:
30 Stepswhen:
5 Stepsdemonstrate the vulnerability clearly.
92 — Evidence Integrity
Section titled “92 — Evidence Integrity”Preserve:
Original Requests
Original Responses
Timestampswhere appropriate.
Do not alter evidence in ways that misrepresent the test.
93 — Validation Notebook
Section titled “93 — Validation Notebook”Create:
Validation_Notebook.mdwith:
# Target
# Scope
# Observation
# Hypothesis
# Preconditions
# Baseline
# Test
# Expected
# Observed
# Reproduction
# Capability
# Impact
# Evidence
# Stop Condition
# Report Status94 — Stop Conditions
Section titled “94 — Stop Conditions”Before testing, define:
What EvidenceWill Be Enough?Example:
If Account BCan Read OneTest ObjectOwned by Account A
Stop Testing95 — Why Stop Conditions Matter
Section titled “95 — Why Stop Conditions Matter”Without stop conditions, researchers may continue from:
Confirmed Vulnerabilityinto:
UnnecessaryData Access96 — Stop Immediately When
Section titled “96 — Stop Immediately When”Stop if you encounter:
Real Customer Data
Production Secrets
Unexpected Privilege
Operational Impact
Out-of-Scope SystemsThen document the minimum evidence already obtained.
97 — Cleanup
Section titled “97 — Cleanup”After testing, remove:
Test Files
Test Objects
Temporary Integrations
Test Webhookswhere safe and appropriate.
Do not modify production resources merely for cleanup without understanding the effect.
98 — Validation Confidence
Section titled “98 — Validation Confidence”Classify findings as:
Confirmed
Likely
Needs More Evidence
False Positive99 — Do Not Overstate
Section titled “99 — Do Not Overstate”If you proved:
Read Accessdo not claim:
Full Account Takeoverunless you actually established the attack path.
100 — Separate Observed and Potential Impact
Section titled “100 — Separate Observed and Potential Impact”Use:
Observed Impactfor what you demonstrated.
Use:
Potential Impactfor reasonable consequences supported by architecture.
101 — Example
Section titled “101 — Example”Observed:
Account BCan Read Account A'sTest InvoicePotential:
Other Customer InvoicesMay Be ExposedThrough the SameMissing Ownership CheckThis distinction improves report credibility.
102 — Root Cause
Section titled “102 — Root Cause”Ask:
Why DoesThis Work?Potential root causes:
Missing Authorization
Weak Token Binding
Unsafe Trust Assumption
Missing State Validation
Excessive Permission103 — Root Cause vs Symptom
Section titled “103 — Root Cause vs Symptom”Symptom:
User B CanDownload User A's FileRoot cause:
Backend Does NotVerify File OwnershipBefore GeneratingDownload Access104 — Remediation Direction
Section titled “104 — Remediation Direction”Understanding root cause allows useful remediation such as:
Enforce Server-SideObject Authorizationinstead of vague advice such as:
Improve Security105 — Validation Decision Tree
Section titled “105 — Validation Decision Tree”Use:
Interesting Behavior ↓Reproducible? / \ No Yes ↓ ↓Record Security Boundary? / \ No Yes ↓ ↓ Low Value Capability? ↓ Impact? ↓ Confirm Finding106 — Finding Quality
Section titled “106 — Finding Quality”A high-quality finding answers:
What?
Where?
Who?
How?
Why?
Impact?
Evidence?107 — Validation Workflow
Section titled “107 — Validation Workflow”Use:
Observation ↓Scope Check ↓Hypothesis ↓Baseline ↓Controlled Test ↓Reproduce ↓Identify Boundary ↓Determine Capability ↓Assess Preconditions ↓Measure Impact ↓Collect Evidence ↓Stop ↓Report108 — Validation Maturity Level 1
Section titled “108 — Validation Maturity Level 1”Beginner:
SomethingLooks Strange109 — Validation Maturity Level 2
Section titled “109 — Validation Maturity Level 2”Tester:
I CanReproduce It110 — Validation Maturity Level 3
Section titled “110 — Validation Maturity Level 3”Researcher:
I Know WhichSecurity BoundaryIs Broken111 — Validation Maturity Level 4
Section titled “111 — Validation Maturity Level 4”Advanced Researcher:
I Understand
Capability
Preconditions
Attack Path
Impact112 — Validation Maturity Level 5
Section titled “112 — Validation Maturity Level 5”Professional:
I Can Demonstratethe Vulnerability
with
Minimum Risk
Clear Evidence
Accurate Impact
Reproducible PoCPractical Exercise 1 — Observation vs Vulnerability
Section titled “Practical Exercise 1 — Observation vs Vulnerability”Create:
Validation_Examples.mdwith ten observations.
For each classify:
Observation
Needs Validation
Confirmed Vulnerability
False Positiveand explain why.
Practical Exercise 2 — Build Hypotheses
Section titled “Practical Exercise 2 — Build Hypotheses”Create ten hypotheses using:
Actor
Action
Target
Expected Control
Potential FailurePractical Exercise 3 — Two-Account Authorization Lab
Section titled “Practical Exercise 3 — Two-Account Authorization Lab”Using an intentionally vulnerable training application:
Account A ↓Create Test Object
Account B ↓Attempt AccessDocument:
Expected
Observed
Security Boundary
ImpactPractical Exercise 4 — Multi-Tenant Validation
Section titled “Practical Exercise 4 — Multi-Tenant Validation”Create two lab organizations:
Organization A
Organization BTest whether researcher-controlled resources remain isolated between them.
Practical Exercise 5 — Authentication Flow Mapping
Section titled “Practical Exercise 5 — Authentication Flow Mapping”Map a training application’s:
Login
Logout
Password Reset
MFA
Session LifecycleIdentify every:
Security DecisionPractical Exercise 6 — Safe SSRF Validation
Section titled “Practical Exercise 6 — Safe SSRF Validation”Using an intentionally vulnerable local or cloud lab application and infrastructure you control:
Application ↓Researcher URL ↓Controlled Serverdemonstrate server-side interaction without targeting unrelated internal systems.
Practical Exercise 7 — File Security Validation
Section titled “Practical Exercise 7 — File Security Validation”Using training files, analyze:
Upload
Download
Authorization
File Ownership
Serving BehaviorPractical Exercise 8 — Business Logic Modeling
Section titled “Practical Exercise 8 — Business Logic Modeling”Create:
Business_Logic_Map.mdfor a fictional:
E-CommerceApplicationcovering:
Cart
Checkout
Payment
Order
Cancellation
RefundIdentify five security hypotheses.
Practical Exercise 9 — Attack Path Development
Section titled “Practical Exercise 9 — Attack Path Development”Build:
Attack_Path.mdfor:
Low-Privilege User ↓Information Disclosure ↓Object Identifier ↓Authorization Failure ↓Private ResourceDocument each security boundary.
Practical Exercise 10 — Exploitability Matrix
Section titled “Practical Exercise 10 — Exploitability Matrix”Create:
Exploitability_Matrix.csvfor ten fictional findings.
Record:
Access Required
Complexity
Interaction
Reliability
Capability
ImpactPractical Exercise 11 — Build a Safe PoC
Section titled “Practical Exercise 11 — Build a Safe PoC”For an intentionally vulnerable training application, create:
PoC.mdcontaining:
Preconditions
Baseline
Test
Expected Result
Actual Result
Impact
CleanupPractical Exercise 12 — Evidence Package
Section titled “Practical Exercise 12 — Evidence Package”Create:
Evidence/│├── request-baseline.txt├── response-baseline.txt├── request-test.txt├── response-test.txt├── timeline.md└── notes.mdRedact all sensitive authentication material.
Practical Exercise 13 — Stop Conditions
Section titled “Practical Exercise 13 — Stop Conditions”For five fictional vulnerabilities define:
Minimum Evidence Required
Stop Condition
Cleanup RequirementPractical Exercise 14 — Root Cause Analysis
Section titled “Practical Exercise 14 — Root Cause Analysis”For five findings document:
Symptom ↓Broken Control ↓Root Cause ↓Recommended ControlPractical Exercise 15 — Full Validation Workflow
Section titled “Practical Exercise 15 — Full Validation Workflow”Take one intentionally vulnerable lab finding through:
Observation ↓Hypothesis ↓Baseline ↓Controlled Test ↓Reproduction ↓Security Boundary ↓Capability ↓Impact ↓Evidence ↓PoC ↓StopProduce:
Validated_Finding.mdKnowledge Check
Section titled “Knowledge Check”-
What is vulnerability validation?
-
How is an observation different from a vulnerability?
-
What is a security hypothesis?
-
Why should a baseline be established?
-
Why should one variable be changed at a time?
-
What is differential testing?
-
Why is reproducibility important?
-
What are vulnerability preconditions?
-
What is an attacker model?
-
What is a victim model?
-
What is a security boundary?
-
Why should the broken control be identified?
-
What is a false positive?
-
Why is HTTP 200 not proof of a vulnerability?
-
What is minimum necessary validation?
-
What is a Proof of Concept?
-
How is a PoC different from weaponization?
-
Why should researcher-controlled accounts be used?
-
What is horizontal privilege escalation?
-
What is vertical privilege escalation?
-
What is tenant isolation?
-
Why should destructive authorization tests be avoided?
-
How should authentication weaknesses be validated?
-
What should be analyzed in a password-reset flow?
-
What should be analyzed in an MFA flow?
-
Why should injection testing begin with non-destructive indicators?
-
Why should researchers avoid dumping databases?
-
How can SSRF be validated safely?
-
What evidence can demonstrate server-side interaction?
-
How should file-upload vulnerabilities be validated?
-
What is business-logic validation?
-
What is state-transition testing?
-
Why should race-condition testing use controlled resources?
-
Why should rate-limit testing avoid stressing production?
-
What is exploitability?
-
Why do preconditions affect practical risk?
-
What is attacker capability?
-
What is confidentiality impact?
-
What is integrity impact?
-
What is availability impact?
-
What is blast radius?
-
Why should impact be extrapolated rather than mass-tested?
-
What is an attack path?
-
What is a vulnerability primitive?
-
What is vulnerability chaining?
-
Why should vulnerability chains be realistic?
-
What is exploit development in a bug bounty context?
-
What makes a good PoC?
-
What is a stop condition?
-
Why must observed and potential impact be separated?
Key Takeaways
Section titled “Key Takeaways”Remember:
Interesting Behavior ≠VulnerabilityError Message ≠Exploitation200 Response ≠Authorization BypassVulnerability ≠Maximum ExploitationPoC ≠WeaponizationPotential Impact ≠Observed ImpactThe professional validation methodology is:
Observation ↓Scope ↓Hypothesis ↓Baseline ↓Controlled Test ↓Reproduction ↓Security Boundary ↓Capability ↓Preconditions ↓Impact ↓Evidence ↓StopYour objective is:
Minimum Proof +Maximum ClarityA professional Bug Bounty Hunter does not ask:
How FarCan I Go?They ask:
What Is theMinimum EvidenceRequired toProve ThisSecurity Failure?Career Connection
Section titled “Career Connection”Vulnerability validation skills are valuable for:
Bug Bounty Hunters
Security Researchers
Penetration Testers
Application Security Engineers
Red Teamers
Product Security EngineersDuring interviews, you should be able to explain:
How YouBuild Hypotheses
How YouEstablish Baselines
How YouReproduce Findings
How YouIdentify Security Boundaries
How YouDetermine Exploitability
How YouBuild Attack Paths
How YouAssess Impact
How YouCreate Safe PoCs
How YouKnow When to StopInstead of saying:
I Found an IDORand Exploited Ityou should be able to explain:
I begin by convertingthe suspicious behaviorinto a testable securityhypothesis.
I establish the expectedapplication behavior andcreate a controlled baseline.
I then change one relevantvariable at a time andcompare the expected andobserved security decisions.
Where possible, I usemultiple researcher-controlledaccounts to demonstrateauthorization boundarieswithout accessing realcustomer information.
Once the issue is reproducible,I identify the broken control,attacker prerequisites,capability gained andaffected security boundary.
I collect only the evidencerequired to establish impact,create a reproducibleproof-of-concept and stoptesting once the vulnerabilityhas been demonstrated.What’s Next?
Section titled “What’s Next?”➡️ Next: 10 — Bug Bounty Reporting and Vulnerability Communication
Finding a vulnerability is only part of professional security research.
A finding must also be communicated so that another person can understand:
What Is Wrong?
Where Is It?
How Can ItBe Reproduced?
Why Does It Matter?
How Should ItBe Fixed?In the next module, you will learn how to convert:
Technical Findinginto:
ProfessionalVulnerability Reportcovering:
Report Titles
Executive Summaries
Affected Assets
Preconditions
Reproduction Steps
Proof of Concept
Evidence
Attack Paths
Business Impact
Severity
Remediation
Retesting
Researcher CommunicationYou will move from:
I Can Findand ValidateVulnerabilitiesto:
I Can ClearlyCommunicate
What Is Wrong
How It Works
Why It Matters
and
How the OrganizationCan Fix It➡️ Next: 10 — Bug Bounty Reporting and Vulnerability Communication