02 — OSWA
The Offensive Security Web Assessor (OSWA) path focuses on practical web application security assessment.
The goal is not simply to learn a list of web vulnerabilities.
You should develop the ability to look at an unfamiliar authorized application and systematically answer:
How Does This Application Work?
Where Does User Input Enter?
How Does Authentication Work?
How Is Authorization Enforced?
How Is Session State Maintained?
What Trust Boundaries Exist?
Can Application Logic Be Misused?
What Is the Security Impact?
How Should the Weakness Be Fixed?OSWA is especially relevant if you want to move toward:
Web Penetration Tester
Application Security Analyst
Application Security Engineer
Product Security Analyst
Security Consultant
Web Security SpecialistPerform web security testing only against applications you own, dedicated training environments, or systems where you have explicit authorization.
Certification Information
Section titled “Certification Information”Certification: OSWA
Primary Domain: Web Application Security
Skill Level: Foundational → Intermediate Practical Web Security
Career Direction: Web Penetration Testing and Application Security
Recommended Approach: Learn web technologies first, then develop a repeatable manual testing methodology
What OSWA Should Build
Section titled “What OSWA Should Build”Your preparation should develop competency in:
Web Architecture
HTTP
Application Mapping
Request Analysis
Response Analysis
Authentication
Authorization
Session Management
Input Validation
Common Web Vulnerabilities
API Security
Application Logic
Manual Testing
Evidence Collection
ReportingOSWA Career Position
Section titled “OSWA Career Position”A practical progression is:
WEB FUNDAMENTALS ↓HTTP ↓APPLICATION ARCHITECTURE ↓WEB SECURITY FUNDAMENTALS ↓MANUAL TESTING ↓OSWA ↓WEB PENETRATION TESTING ↓APPLICATION SECURITY ↓ADVANCED WEB SECURITY ↓OSWE01 — Understand How Web Applications Work
Section titled “01 — Understand How Web Applications Work”Before learning web vulnerabilities, understand normal application behavior.
A simple model is:
USER ↓BROWSER ↓HTTP REQUEST ↓WEB SERVER ↓APPLICATION ↓DATABASE / API / SERVICE ↓HTTP RESPONSE ↓BROWSEREvery web security assessment begins with understanding this flow.
02 — Understand the Client and Server Model
Section titled “02 — Understand the Client and Server Model”The browser is generally the client.
The application server makes important security decisions.
Think:
CLIENT-CONTROLLED ↓Request
Parameters
Headers
Cookies
Body
JavaScript Inputversus:
SERVER-CONTROLLED ↓Authentication
Authorization
Validation
Data Access
Business RulesSecurity Principle
Section titled “Security Principle”Never assume:
Because the BrowserPrevents an Action,the Server Is Secure.Client-side restrictions are not a replacement for server-side security controls.
03 — Learn HTTP
Section titled “03 — Learn HTTP”HTTP is fundamental to web penetration testing.
Understand:
Request
Response
Method
Path
Headers
Body
Status Code
Cookies
ParametersBasic Request Structure
Section titled “Basic Request Structure”Conceptually:
METHOD /path HTTP/version
Headers
BodyCommon HTTP Methods
Section titled “Common HTTP Methods”Understand:
GET
POST
PUT
PATCH
DELETE
HEAD
OPTIONSDo not simply memorize methods.
Ask:
What Does This Method Do?
What Resource Does It Affect?
Does It Require Authentication?
Does It Change Data?
Is Authorization Checked?04 — Understand HTTP Status Codes
Section titled “04 — Understand HTTP Status Codes”Common categories include:
2xxSuccess
3xxRedirection
4xxClient-Side Request Errors
5xxServer-Side ErrorsUseful examples:
| Code | Common Meaning |
|---|---|
| 200 | OK |
| 201 | Created |
| 301/302 | Redirect |
| 400 | Bad Request |
| 401 | Authentication required/failed |
| 403 | Forbidden |
| 404 | Not found |
| 500 | Server error |
Do not assume the status code alone tells the whole story.
Always inspect:
Response Headers
Response Body
Application Behavior05 — Understand Headers
Section titled “05 — Understand Headers”Important headers may relate to:
Authentication
Content Type
Caching
Origin
Cookies
Security Policy
Proxy BehaviorYour goal is to understand:
WHAT INFORMATIONIS BEING PASSEDBETWEEN CLIENT AND SERVER?06 — Understand Cookies
Section titled “06 — Understand Cookies”Cookies commonly support:
Session Management
Authentication State
User Preferences
TrackingReview concepts such as:
Cookie Name
Value
Domain
Path
Expiration
Secure
HttpOnly
SameSiteCookie Security Questions
Section titled “Cookie Security Questions”Ask:
Does the Cookie Represent Authentication?
Is It Protected During Transport?
Can Client-Side Scripts Access It?
When Does It Expire?
Is It Replaced After Login?
Is It Invalidated After Logout?07 — Understand Sessions
Section titled “07 — Understand Sessions”HTTP is fundamentally stateless.
Applications therefore use mechanisms to remember users between requests.
Conceptually:
USER LOGS IN ↓SERVER CREATES SESSION ↓SESSION IDENTIFIER ↓BROWSER ↓FUTURE REQUEST ↓SERVER ASSOCIATES REQUESTWITH USERSession Security
Section titled “Session Security”Assess:
Session Creation
Session Rotation
Session Expiration
Logout Behavior
Concurrent Sessions
Sensitive Actions
Session Invalidation08 — Understand Authentication
Section titled “08 — Understand Authentication”Authentication answers:
WHO ARE YOU?Common web authentication mechanisms include:
Username + Password
MFA
Single Sign-On
Federated Authentication
API Tokens
CertificatesAuthentication Assessment Questions
Section titled “Authentication Assessment Questions”Ask:
How Does Login Work?
How Does Registration Work?
How Does Password Reset Work?
How Does MFA Work?
How Does Logout Work?
How Are Failed Attempts Handled?
How Is Account Recovery Protected?09 — Understand Authorization
Section titled “09 — Understand Authorization”Authorization answers:
WHAT ARE YOU ALLOWED TO DO?Example:
USER A ↓CAN VIEWOWN PROFILEADMIN ↓CAN MANAGEALL USERSAuthorization weaknesses occur when server-side access controls do not correctly enforce these boundaries.
Authentication vs Authorization
Section titled “Authentication vs Authorization”Authentication=Who Are You?Authorization=What Can You Do?This distinction is one of the most important concepts in web security.
10 — Understand Roles
Section titled “10 — Understand Roles”Applications may contain roles such as:
Guest
User
Manager
Administrator
Support
AuditorMap each role to:
Accessible Functions
Accessible Data
Allowed ActionsRole Matrix
Section titled “Role Matrix”| Role | View Own Data | Edit Own Data | View Others | Admin Functions |
|---|---|---|---|---|
| Guest | No | No | No | No |
| User | Yes | Yes | No | No |
| Admin | Yes | Yes | Yes | Yes |
This becomes useful during authorization testing.
11 — Map the Application Before Testing
Section titled “11 — Map the Application Before Testing”Do not immediately start entering payloads.
First understand the application.
Map:
Pages
Endpoints
Forms
Parameters
Roles
APIs
Authentication
Uploads
Search
Administrative Functions
Sensitive DataApplication Mapping Workflow
Section titled “Application Mapping Workflow”START APPLICATION ↓BROWSE EVERY FUNCTION ↓IDENTIFY REQUESTS ↓IDENTIFY PARAMETERS ↓IDENTIFY ROLES ↓IDENTIFY SENSITIVE ACTIONS ↓CREATE ATTACK-SURFACE MAP12 — Build an Application Inventory
Section titled “12 — Build an Application Inventory”Create:
| Function | Method | Authentication | Role | Sensitive |
|---|---|---|---|---|
| Login | POST | No | Public | Yes |
| Profile | GET | Yes | User | Yes |
| Update Profile | POST | Yes | User | Yes |
| Admin Panel | GET | Yes | Admin | Yes |
13 — Identify Entry Points
Section titled “13 — Identify Entry Points”User-controlled data may enter through:
URL Parameters
Form Fields
JSON Bodies
HTTP Headers
Cookies
File Uploads
API Requests
Search BoxesInput Analysis Mental Model
Section titled “Input Analysis Mental Model”INPUT ↓VALIDATION ↓PROCESSING ↓DATABASE / FILE / COMMAND / TEMPLATE ↓OUTPUTFor every input ask:
Where Does It Go?
How Is It Validated?
How Is It Encoded?
Which Security Boundary Does It Cross?14 — Learn Proxy-Based Testing
Section titled “14 — Learn Proxy-Based Testing”A web assessment often benefits from an intercepting proxy in an authorized lab.
The conceptual flow is:
BROWSER ↓TESTING PROXY ↓WEB APPLICATIONThis helps you:
Inspect Requests
Inspect Responses
Modify Parameters
Replay Requests
Compare BehaviorThe important skill is understanding the HTTP conversation, not depending on a particular product.
15 — Learn Request Replay
Section titled “15 — Learn Request Replay”Applications frequently behave differently when:
Parameter Changes
Role Changes
Session Changes
Request Order ChangesReplay allows you to compare:
ORIGINAL REQUEST ↓MODIFIED REQUEST ↓APPLICATION RESPONSE16 — Learn Authentication Testing
Section titled “16 — Learn Authentication Testing”Review:
Login
Logout
Registration
Password Reset
Account Recovery
MFA
Remember-Me Functions
Session CreationAuthentication Testing Mental Model
Section titled “Authentication Testing Mental Model”IDENTITY CLAIM ↓AUTHENTICATION PROCESS ↓SESSION CREATED ↓ACCESS GRANTEDAsk where controls might fail.
17 — Review Account Enumeration
Section titled “17 — Review Account Enumeration”Applications should not unnecessarily reveal whether a specific account exists.
Compare application responses for:
Known Account
Unknown AccountReview differences in:
Message
Response Length
Status
Timing
WorkflowDocument only confirmed observable behavior.
18 — Review Password Reset
Section titled “18 — Review Password Reset”Password reset is part of the authentication boundary.
Assess:
User Verification
Reset Token Handling
Token Expiration
Token Reuse
Account Binding
Session Behavior After ResetSecurity Principle
Section titled “Security Principle”Strong login security can be undermined by:
Weak Password Recovery19 — Review MFA Workflow
Section titled “19 — Review MFA Workflow”Where MFA exists, assess:
Enrollment
Challenge
Recovery
Backup Methods
Session Handling
Sensitive ActionsDo not assume:
MFA Enabled=Every Authentication Path Protected20 — Review Logout
Section titled “20 — Review Logout”Verify whether logout actually ends the authenticated session.
Conceptually test whether:
LOGIN ↓SESSION ↓LOGOUT ↓OLD SESSIONis no longer valid.
21 — Learn Authorization Testing
Section titled “21 — Learn Authorization Testing”Authorization testing is often one of the highest-value parts of web assessment.
Evaluate:
Horizontal Access Control
Vertical Access Control
Function-Level Authorization
Object-Level AuthorizationHorizontal Authorization
Section titled “Horizontal Authorization”Example:
USER A ↓USER A DATAshould not automatically become:
USER A ↓USER B DATAVertical Authorization
Section titled “Vertical Authorization”Example:
STANDARD USERshould not be able to perform:
ADMINISTRATIVE ACTIONwithout authorization.
22 — Understand IDOR / Object-Level Access
Section titled “22 — Understand IDOR / Object-Level Access”Applications often reference resources using identifiers.
Conceptually:
USER ↓OBJECT ID ↓SERVER ↓AUTHORIZATION CHECK ↓OBJECTThe security question is:
Does the Server VerifyThat This User Is Allowedto Access This Object?23 — Test Function-Level Authorization
Section titled “23 — Test Function-Level Authorization”Do not assume a function is protected simply because:
No Link Appears in the UIThe server must enforce the restriction.
Map:
ROLE ↓ENDPOINT ↓EXPECTED AUTHORIZATION24 — Learn Input Validation
Section titled “24 — Learn Input Validation”Applications receive untrusted data.
Secure applications should appropriately validate data based on context.
Examples:
Numbers
Names
Email Addresses
Dates
File Names
URLs
JSON ObjectsValidation Questions
Section titled “Validation Questions”Ask:
What Type of Data Is Expected?
What Length Is Expected?
Which Characters Are Expected?
Where Is the Data Used?
Is Validation Server-Side?25 — Understand Injection
Section titled “25 — Understand Injection”Injection occurs when untrusted input is interpreted as part of a command, query, or other executable context instead of being treated purely as data.
Conceptually:
USER INPUT ↓APPLICATION ↓INTERPRETER / DATABASE / COMMANDSecurity depends on keeping:
DATAseparate from:
INSTRUCTIONS26 — Understand SQL Injection Conceptually
Section titled “26 — Understand SQL Injection Conceptually”Applications may interact with relational databases.
Normal flow:
USER INPUT ↓APPLICATION ↓DATABASE QUERY ↓DATABASEA weakness may occur when user input improperly influences query structure.
Focus first on:
Parameterized Queries
Server-Side Validation
Least-Privilege Database Accounts
Error Handling27 — Understand Cross-Site Scripting
Section titled “27 — Understand Cross-Site Scripting”Cross-site scripting relates to unsafe handling of user-controlled content that reaches a browser execution context.
Conceptually:
USER INPUT ↓APPLICATION ↓HTML / JAVASCRIPT CONTEXT ↓ANOTHER USER'S BROWSERKey defensive concepts include:
Context-Aware Output Encoding
Input Handling
Content Security Policy
Safe Framework Behavior28 — Understand Stored vs Reflected Behavior
Section titled “28 — Understand Stored vs Reflected Behavior”Conceptually:
ReflectedInput → Request → ResponseStoredInput → Storage → Future ResponseThe difference matters because:
Persistence
Affected Users
Application Contextcan differ.
29 — Understand Path Traversal
Section titled “29 — Understand Path Traversal”File-related application functions may use user-controlled paths or file names.
Conceptually:
USER INPUT ↓FILE SELECTION ↓SERVER FILESYSTEMThe security objective is:
User Can AccessOnly Intended Files30 — Understand File Upload Security
Section titled “30 — Understand File Upload Security”File uploads create multiple security concerns.
Assess:
File Type
File Size
File Name
Storage Location
Execution
Access Control
Content ValidationSecure Upload Mental Model
Section titled “Secure Upload Mental Model”UPLOAD ↓VALIDATE ↓RENAME ↓STORE SAFELY ↓CONTROL ACCESS ↓SERVE SAFELY31 — Understand Server-Side Request Forgery
Section titled “31 — Understand Server-Side Request Forgery”Some applications retrieve remote resources on behalf of the user.
Conceptually:
USER ↓URL ↓APPLICATION SERVER ↓REMOTE RESOURCEThe important security question is:
Which DestinationsIs the Server Allowed to Access?32 — Understand Command Execution Boundaries
Section titled “32 — Understand Command Execution Boundaries”Applications may invoke operating-system functionality.
Secure design should prevent user-controlled input from becoming operating-system instructions.
Conceptually:
USER INPUT ↓APPLICATION ↓SYSTEM FUNCTIONReview:
Input Handling
Use of Safe APIs
Application Privilege
Isolation33 — Understand Template Security
Section titled “33 — Understand Template Security”Modern applications may generate dynamic content using templates.
Security problems can occur if user-controlled data improperly influences template processing.
Again, understand the data flow:
USER INPUT ↓TEMPLATE ENGINE ↓OUTPUT34 — Review Error Handling
Section titled “34 — Review Error Handling”Errors may reveal:
Stack Traces
Filesystem Paths
Framework Versions
Database Details
Internal Hostnames
Code StructureError Handling Principle
Section titled “Error Handling Principle”Users should receive enough information to understand the application outcome without exposing unnecessary internal details.
35 — Review Security Headers
Section titled “35 — Review Security Headers”Web security assessments may review browser-security controls such as:
Content Security Policy
Transport Security
Framing Restrictions
Content-Type Handling
Referrer PolicyDo not report every missing header as high risk.
Consider:
Application Context
Existing Controls
Actual Exploitability
Business Impact36 — Review CORS Conceptually
Section titled “36 — Review CORS Conceptually”Cross-Origin Resource Sharing controls how browser-based applications interact across origins.
Understand:
ORIGIN A ↓REQUEST ↓ORIGIN BThen evaluate:
Which Origins Are Trusted?
Which Credentials Are Allowed?
Which Methods Are Permitted?37 — Learn CSRF Concepts
Section titled “37 — Learn CSRF Concepts”Applications performing authenticated state-changing actions should consider whether unwanted cross-site requests could trigger sensitive operations.
Conceptually:
AUTHENTICATED USER ↓UNWANTED REQUEST ↓STATE-CHANGING ACTIONSecurity controls may include:
Anti-CSRF Tokens
SameSite Cookies
Reauthentication
Request Context Validation38 — Understand Business Logic Vulnerabilities
Section titled “38 — Understand Business Logic Vulnerabilities”Not every vulnerability results from malformed technical input.
Applications can be insecure because the workflow itself is flawed.
Examples:
Skipping Required Steps
Repeating One-Time Operations
Changing Transaction Order
Applying Discounts Incorrectly
Performing Actions Without Required ApprovalBusiness Logic Mental Model
Section titled “Business Logic Mental Model”EXPECTED WORKFLOW1 → 2 → 3 → 4Ask whether the application incorrectly allows:
1 → 4or:
1 → 2 → 2 → 239 — Learn State-Based Testing
Section titled “39 — Learn State-Based Testing”Applications change state.
Examples:
Logged Out
Logged In
Email Verified
Payment Pending
Order Approved
Password Reset RequestedSecurity testing should evaluate whether users can enter invalid states.
40 — Understand API Security
Section titled “40 — Understand API Security”Modern applications commonly rely on APIs.
Common formats include:
REST
JSON
HTTP APIsAPI testing requires understanding:
Endpoints
Methods
Parameters
Authentication
Authorization
Objects
ResponsesAPI Architecture
Section titled “API Architecture”CLIENT ↓API REQUEST ↓API ENDPOINT ↓AUTHENTICATION ↓AUTHORIZATION ↓BUSINESS LOGIC ↓DATABASE / SERVICE41 — Map API Endpoints
Section titled “41 — Map API Endpoints”Create:
| Endpoint | Method | Auth | Role | Purpose |
|---|---|---|---|---|
| /api/profile | GET | Yes | User | Read profile |
| /api/profile | PATCH | Yes | User | Update profile |
| /api/users | GET | Yes | Admin | User management |
42 — Review API Authentication
Section titled “42 — Review API Authentication”Determine whether APIs use:
Session Cookies
Bearer Tokens
API Keys
Federated TokensThen assess:
Storage
Expiration
Scope
Revocation
Transmission43 — Review API Authorization
Section titled “43 — Review API Authorization”Do not assume authenticated API users can access every object.
Ask:
Does the API CheckObject Ownership?
Does It Check Role?
Does It Check Tenant?
Does It Check Function?44 — Review Mass Assignment Concepts
Section titled “44 — Review Mass Assignment Concepts”Applications may automatically bind user-provided data to internal objects.
Security problems can occur when users can set fields they should not control.
Conceptually:
USER-SUPPLIED JSON ↓APPLICATION OBJECT ↓DATABASEAsk:
Which FieldsIs the User Allowed to Set?45 — Review Sensitive Data Exposure
Section titled “45 — Review Sensitive Data Exposure”Inspect whether applications expose unnecessary:
Personal Information
Secrets
Tokens
Internal IDs
Financial Information
Administrative Metadatain:
Responses
JavaScript
Error Messages
Logs
URLs46 — Review Client-Side JavaScript
Section titled “46 — Review Client-Side JavaScript”JavaScript can reveal:
Endpoints
API Routes
Feature Names
Business Logic
Parameter Names
Client-Side ValidationBut remember:
Client-Side CodeIs Visible to UsersDo not place secrets in frontend code.
47 — Review Hidden Functions Carefully
Section titled “47 — Review Hidden Functions Carefully”Web applications may contain:
Unused Routes
Legacy Pages
Old APIs
Administrative Functions
Debug FeaturesYour job is to establish whether those features:
Exist
Are Accessible
Are Authorized
Create Security Impact48 — Learn Technology Fingerprinting
Section titled “48 — Learn Technology Fingerprinting”Identify technologies such as:
Web Server
Framework
Programming Language
CMS
JavaScript Framework
API TechnologyThis helps guide research.
But avoid assuming:
Technology Identified=Vulnerable49 — Learn Version Research
Section titled “49 — Learn Version Research”When a product or framework version is known:
IDENTIFY PRODUCT ↓VERIFY VERSION ↓RESEARCH OFFICIAL ADVISORIES ↓CHECK PRECONDITIONS ↓VALIDATE ENVIRONMENT50 — Learn Manual Validation
Section titled “50 — Learn Manual Validation”Automated tools may report:
Possible IssueYour job is to determine:
Is It Real?
Is It Reachable?
Does It Require Authentication?
Which User Is Affected?
What Is the Actual Impact?51 — Avoid Scanner Dependency
Section titled “51 — Avoid Scanner Dependency”Automated scanning is useful for coverage.
It does not replace understanding.
Bad workflow:
RUN SCANNER ↓EXPORT REPORT ↓FINISHEDBetter:
MAP APPLICATION ↓MANUAL TESTING ↓AUTOMATED SUPPORT ↓VALIDATE ↓UNDERSTAND IMPACT ↓REPORT52 — Build a Repeatable Web Testing Methodology
Section titled “52 — Build a Repeatable Web Testing Methodology”Use:
01 Confirm Scope
02 Identify Application
03 Map Functionality
04 Map Roles
05 Map Authentication
06 Map Sessions
07 Identify Inputs
08 Test Authorization
09 Test Input Handling
10 Test Business Logic
11 Assess APIs
12 Review Client-Side Components
13 Validate Findings
14 Capture Evidence
15 Cleanup
16 Report53 — Build an Authentication Checklist
Section titled “53 — Build an Authentication Checklist”Review:
- Login
- Logout
- Registration
- Password reset
- Account recovery
- MFA
- Session creation
- Session rotation
- Session expiration
- Sensitive action reauthentication
54 — Build an Authorization Checklist
Section titled “54 — Build an Authorization Checklist”Review:
- Own-object access
- Other-user object access
- Administrative endpoints
- Role changes
- Hidden functions
- API objects
- Direct endpoint access
- Sensitive actions
- Cross-tenant boundaries where applicable
55 — Build an Input Checklist
Section titled “55 — Build an Input Checklist”Review:
URL Parameters
Form Fields
JSON
Headers
Cookies
File Names
Uploaded Files
Search Fields
URLs
IDsFor each record:
Input:
Expected Type:
Validation:
Destination:
Security Boundary:
Observed Result:56 — Build an API Checklist
Section titled “56 — Build an API Checklist”Review:
- API endpoints
- HTTP methods
- Authentication
- Authorization
- Object ownership
- Data exposure
- Input handling
- Error handling
- Rate controls where relevant
- Token lifecycle
57 — Use Multiple Test Accounts
Section titled “57 — Use Multiple Test Accounts”Authorization testing often requires:
User A
User B
Administratorwhen the lab permits it.
This helps validate:
Horizontal Boundaries
Vertical BoundariesKeep test identities clearly labeled.
58 — Track Application State
Section titled “58 — Track Application State”Create a state map.
Example:
Anonymous ↓Registered ↓Authenticated ↓Verified ↓PrivilegedAsk:
Which Transition Creates Access?
Which Checks Occur?
Can a User Skip a State?59 — Capture Evidence Continuously
Section titled “59 — Capture Evidence Continuously”For every validated issue capture:
Timestamp
Account / Role
Request
Relevant Response
Affected Function
Security Impact
Screenshot Where UsefulDo not unnecessarily capture sensitive customer data.
60 — Evidence Quality
Section titled “60 — Evidence Quality”Strong evidence should show:
Expected Behavior
Actual Behavior
Affected User
Affected Resource
ImpactAvoid:
Huge Screenshots
Unrelated Output
Unnecessary Sensitive Data61 — Learn Finding Validation
Section titled “61 — Learn Finding Validation”Before reporting:
OBSERVE ↓REPEAT ↓VERIFY ↓COMPARE EXPECTED BEHAVIOR ↓CONFIRM SECURITY IMPACTDo not report:
Interesting Behavioras:
Confirmed Vulnerabilitywithout validation.
62 — Learn Risk Classification
Section titled “62 — Learn Risk Classification”Consider:
Authentication Required
User Interaction
Privilege Required
Data Sensitivity
Number of Users
Business Function
Exploitability
Existing ControlsExample
Section titled “Example”Unauthorized Accessto Another User'sSensitive Financial Datais generally more significant than:
Minor Information Disclosureof Non-Sensitive Metadata63 — Write Professional Findings
Section titled “63 — Write Professional Findings”Use:
Finding ID:
Title:
Severity:
Affected Component:
Affected Roles:
Description:
Evidence:
Security Impact:
Business Impact:
Recommendation:
Retest Method:Finding Example — Authorization
Section titled “Finding Example — Authorization”Finding ID:WEB-001
Title:Insufficient Object-Level Authorization
Severity:High
Observation:An authenticated user can access aresource belonging to another user becausethe server does not consistently verifyresource ownership.
Risk:Users may access information outside theirauthorized scope.
Recommendation:Enforce server-side authorization for everyprotected object using the authenticateduser's permitted scope rather than relyingon client-supplied identifiers.Finding Example — Session Management
Section titled “Finding Example — Session Management”Finding ID:WEB-002
Title:Session Remains Valid After Logout
Severity:Medium
Observation:An authenticated session remains usableafter the user completes the application'slogout workflow.
Risk:A previously obtained session identifiermay continue providing access even thoughthe user believes the session has ended.
Recommendation:Invalidate server-side session state duringlogout and verify that previously issuedsession identifiers can no longer accessprotected resources.Finding Example — Information Disclosure
Section titled “Finding Example — Information Disclosure”Finding ID:WEB-003
Title:Detailed Application Errors ExposeInternal Information
Severity:Low / Medium
Observation:Application error responses expose internalimplementation details not required by theuser.
Risk:The information may assist attackers inunderstanding application architecture andplanning further attacks.
Recommendation:Return generic user-facing errors whilerecording detailed diagnostic informationin appropriately protected server logs.64 — Explain Business Impact
Section titled “64 — Explain Business Impact”Do not stop at:
Authorization BypassExplain:
What Data Is Accessible?
Which Users Are Affected?
Can Information Be Changed?
Can Privilege Increase?
Can Business Processes Be Manipulated?65 — Write Actionable Remediation
Section titled “65 — Write Actionable Remediation”Avoid:
Fix AuthorizationPrefer:
Perform server-side authorization checksfor every protected request and verify thatthe authenticated identity is permitted toaccess the requested object beforereturning or modifying data.66 — Retest Findings
Section titled “66 — Retest Findings”After remediation:
ORIGINAL REQUEST ↓ORIGINAL WEAKNESS ↓REPEAT TEST ↓EXPECTED SECURITY CONTROL ↓VERIFY LEGITIMATE FUNCTIONA fix should:
Block Unauthorized Behaviorwhile preserving:
Authorized Business Function67 — Build a Web Assessment Report
Section titled “67 — Build a Web Assessment Report”Recommended structure:
01 Executive Summary
02 Scope
03 Application Overview
04 Assessment Methodology
05 Authentication Review
06 Authorization Review
07 Session Review
08 Input Security
09 API Security
10 Business Logic
11 Technical Findings
12 Remediation
13 Retest Results68 — Executive Summary
Section titled “68 — Executive Summary”Executives need:
What Was Assessed?
What Were the Most Important Risks?
What Business Functions Were Affected?
What Should Be Fixed First?Avoid placing:
Raw Requests
Long Payloads
Tool Screenshotsin the executive section.
69 — Build a Vulnerability Matrix
Section titled “69 — Build a Vulnerability Matrix”| ID | Finding | Severity | Area | Status |
|---|---|---|---|---|
| WEB-001 | Authorization Weakness | High | Access Control | Open |
| WEB-002 | Session Weakness | Medium | Authentication | Open |
| WEB-003 | Error Disclosure | Low | Configuration | Open |
70 — Learn Web Assessment Cleanup
Section titled “70 — Learn Web Assessment Cleanup”Track:
Test Accounts
Uploaded Test Files
Created Records
Temporary Data
Configuration ChangesAt completion:
IDENTIFY ↓REMOVE ↓VERIFY ↓DOCUMENT71 — Build Your Web Lab Strategy
Section titled “71 — Build Your Web Lab Strategy”Progress through:
HTTP LABS ↓APPLICATION MAPPING ↓AUTHENTICATION LABS ↓AUTHORIZATION LABS ↓INPUT VALIDATION LABS ↓API LABS ↓BUSINESS LOGIC LABS ↓FULL WEB ASSESSMENTS72 — Use the Three-Pass Method
Section titled “72 — Use the Three-Pass Method”Pass 01 — Guided
Section titled “Pass 01 — Guided”Understand the concept and workflow.
Pass 02 — Notes Only
Section titled “Pass 02 — Notes Only”Repeat using only your own notes.
Pass 03 — Independent
Section titled “Pass 03 — Independent”Perform the assessment from the beginning without a walkthrough.
73 — Maintain a Web Mistake Log
Section titled “73 — Maintain a Web Mistake Log”Record:
Mistake:
What I Missed:
Why I Missed It:
Correct Approach:
How I Will Detect It Next Time:Common examples:
Did Not Map Every Function
Tested Input Before Understanding Workflow
Ignored Authorization
Used Only One Account
Ignored APIs
Did Not Test Logout
Did Not Recheck After Role Change
Relied on Scanner Results
Poor Evidence74 — Build a Web Testing Knowledge Base
Section titled “74 — Build a Web Testing Knowledge Base”Organize notes into:
HTTP
Authentication
Authorization
Sessions
Input Validation
SQL
Browser Security
Files
Uploads
APIs
Business Logic
ReportingFor each topic document:
How Does It Work?
What Is the Security Boundary?
What Common Weaknesses Exist?
How Do I Validate Safely?
What Evidence Should I Capture?
How Is It Remediated?75 — Learn Secure Development Concepts
Section titled “75 — Learn Secure Development Concepts”A strong web tester should understand how developers fix issues.
Learn:
Parameterized Queries
Output Encoding
Server-Side Authorization
Secure Session Management
Input Validation
Secure File Handling
Secrets Management
Least Privilege
Secure Error HandlingThis dramatically improves your remediation guidance.
76 — Understand Framework Behavior
Section titled “76 — Understand Framework Behavior”Modern frameworks often provide built-in security controls.
Learn to distinguish:
Framework Default
Developer Configuration
Custom Application LogicA weakness may occur because:
Secure Framework FeatureWas Disabledor:
Custom Logic Bypassed It77 — Understand Databases
Section titled “77 — Understand Databases”Learn basic relational database concepts:
Tables
Rows
Columns
Queries
Relationships
Users
PrivilegesYou do not need to become a database administrator, but you should understand how web applications interact with data.
78 — Learn JavaScript Fundamentals
Section titled “78 — Learn JavaScript Fundamentals”Understand:
Variables
Functions
Objects
Arrays
HTTP Requests
DOM
JSONThis helps when analyzing modern web applications.
79 — Learn JSON
Section titled “79 — Learn JSON”Many applications and APIs exchange JSON.
Example conceptually:
{ "name": "Alice", "role": "user"}Understand:
Keys
Values
Objects
Arrays
TypesThen ask:
Which FieldsShould the UserBe Allowed to Control?80 — Understand REST APIs
Section titled “80 — Understand REST APIs”REST-style APIs commonly use:
GET
POST
PUT
PATCH
DELETEagainst resources.
Example:
/users
/users/123
/orders/456Security still depends on:
Authentication
Authorization
Input Validation
Business Logic81 — Understand Multi-Tenant Applications
Section titled “81 — Understand Multi-Tenant Applications”Some SaaS applications serve multiple organizations.
Conceptually:
TENANT A | +-- Users +-- DataTENANT B | +-- Users +-- DataOne of the most important boundaries becomes:
Tenant A UserMust Not AccessTenant B Data82 — Learn Workflow Analysis
Section titled “82 — Learn Workflow Analysis”For each important business function ask:
What Must Happen First?
Which Role Performs It?
What Data Changes?
Which Approval Is Required?
Can the Step Be Repeated?
Can the Order Be Changed?83 — Review Sensitive Actions
Section titled “83 — Review Sensitive Actions”Prioritize operations such as:
Password Change
Email Change
Role Change
Payment
Account Deletion
File Sharing
Administrative ChangesThese often deserve stronger:
Authorization
Reauthentication
Audit
Confirmation84 — Learn Rate-Control Concepts
Section titled “84 — Learn Rate-Control Concepts”Some application operations may need controls against excessive automated usage.
Examples:
Login
Password Reset
Verification
Search
API RequestsEvaluate:
Business Requirement
Abuse Potential
Existing Protections
User Impact85 — Understand Logging
Section titled “85 — Understand Logging”Applications should generate useful logs for:
Authentication
Authorization Failures
Administrative Actions
Security Events
Sensitive ChangesLogging vs Monitoring
Section titled “Logging vs Monitoring”Logging=Record the EventMonitoring=Analyze the Event86 — Think Like Both Tester and Defender
Section titled “86 — Think Like Both Tester and Defender”For each security issue ask:
How Would This Be Prevented?
How Would This Be Detected?
What Logs Would Be Generated?
How Would Incident Response Investigate It?This makes you a better application-security professional.
87 — OSWA Preparation Strategy
Section titled “87 — OSWA Preparation Strategy”Use four phases.
Phase 01 — Foundation
Section titled “Phase 01 — Foundation”Learn:
HTTP
Browser Behavior
HTML
JavaScript
APIs
Authentication
SessionsPhase 02 — Vulnerability Concepts
Section titled “Phase 02 — Vulnerability Concepts”Learn:
Authorization
Input Security
Browser Security
File Handling
Business Logic
API SecurityPhase 03 — Manual Assessment
Section titled “Phase 03 — Manual Assessment”Practice:
Application Mapping
Request Analysis
Role Comparison
Workflow Testing
Evidence CollectionPhase 04 — Independent Assessment
Section titled “Phase 04 — Independent Assessment”Perform full authorized web assessments without relying on walkthroughs.
12-Week OSWA Preparation Framework
Section titled “12-Week OSWA Preparation Framework”Weeks 1–2 — Web Fundamentals
Section titled “Weeks 1–2 — Web Fundamentals”Focus on:
HTTP
HTTPS
Requests
Responses
Headers
Cookies
SessionsWeeks 3–4 — Authentication and Authorization
Section titled “Weeks 3–4 — Authentication and Authorization”Focus on:
Login
Logout
Password Reset
Roles
Object Access
Function AccessWeeks 5–6 — Input Security
Section titled “Weeks 5–6 — Input Security”Focus on:
Validation
Injection Concepts
Browser Output
File Handling
URL HandlingWeeks 7–8 — API Security
Section titled “Weeks 7–8 — API Security”Focus on:
REST
JSON
Tokens
Object Access
API Authorization
Input HandlingWeeks 9–10 — Business Logic
Section titled “Weeks 9–10 — Business Logic”Focus on:
Workflow
State
Sensitive Functions
Application Roles
Multi-Step ProcessesWeek 11 — Full Assessments
Section titled “Week 11 — Full Assessments”Perform complete lab assessments.
Week 12 — Independent Simulation
Section titled “Week 12 — Independent Simulation”Practice:
Mapping
Testing
Evidence
Risk Rating
ReportingDaily Study Model
Section titled “Daily Study Model”Example:
30 MinutesTheory
90 MinutesLab
30 MinutesNotes
30 MinutesRepeat One ConceptWeb Assessment Time Management
Section titled “Web Assessment Time Management”Break the assessment into phases:
20%Application Mapping
20%Authentication + Session
20%Authorization
20%Input + API + Logic Testing
20%Evidence + Reporting + RecheckTreat this only as a practice framework.
Real assessments vary by application.
OSWA Readiness Level 01 — HTTP
Section titled “OSWA Readiness Level 01 — HTTP”You understand:
Methods
Headers
Cookies
Sessions
Status Codes
Bodies
ParametersOSWA Readiness Level 02 — Application Mapping
Section titled “OSWA Readiness Level 02 — Application Mapping”You can map:
Functions
Roles
Endpoints
Inputs
APIs
Sensitive WorkflowsOSWA Readiness Level 03 — Authentication
Section titled “OSWA Readiness Level 03 — Authentication”You can assess:
Login
Logout
Registration
Recovery
Session Lifecycle
MFA WorkflowOSWA Readiness Level 04 — Authorization
Section titled “OSWA Readiness Level 04 — Authorization”You can compare:
User A
User B
Administratorand determine whether access boundaries are correctly enforced.
OSWA Readiness Level 05 — Input Handling
Section titled “OSWA Readiness Level 05 — Input Handling”You understand how untrusted input reaches:
Database
Browser
Filesystem
Server Function
Template
APIand why context matters.
OSWA Readiness Level 06 — API Security
Section titled “OSWA Readiness Level 06 — API Security”You can assess:
Endpoints
Authentication
Object-Level Authorization
Function-Level Authorization
Input
Sensitive DataOSWA Readiness Level 07 — Business Logic
Section titled “OSWA Readiness Level 07 — Business Logic”You can analyze application workflows rather than simply testing technical payloads.
OSWA Readiness Level 08 — Reporting
Section titled “OSWA Readiness Level 08 — Reporting”You can produce:
Clear Evidence
Reproducible Findings
Security Impact
Business Impact
Actionable RemediationOSWA Readiness Level 09 — Independent Assessment
Section titled “OSWA Readiness Level 09 — Independent Assessment”You can receive an unfamiliar authorized application and systematically work through:
MAP ↓UNDERSTAND ↓TEST ↓VALIDATE ↓DOCUMENT ↓REPORTCommon OSWA Preparation Mistakes
Section titled “Common OSWA Preparation Mistakes”Avoid:
Learning Payloads Before HTTP
Ignoring Application Logic
Testing Without Mapping the Application
Using Only One User Account
Ignoring Authorization
Ignoring Password Reset
Ignoring Sessions
Ignoring APIs
Depending Entirely on Scanners
Treating Every Missing Header as Critical
Confusing Interesting Behavior with a Vulnerability
Poor Evidence Collection
Ignoring Remediation
Using Walkthroughs Too QuicklyOSWA vs OSCP
Section titled “OSWA vs OSCP”OSCP is broader:
NETWORK+LINUX+WINDOWS+WEB+ACTIVE DIRECTORYOSWA focuses more deeply on:
WEB APPLICATIONS+HTTP+AUTHENTICATION+AUTHORIZATION+SESSIONS+INPUT+APIs+APPLICATION LOGICOSWA vs OSWE
Section titled “OSWA vs OSWE”Think:
OSWA=Web Application Assessment FoundationOSWE=Advanced Web Application Analysis+Source-Code Review+Complex Vulnerability ChainingA strong progression is:
WEB FUNDAMENTALS ↓OSWA ↓REAL WEB TESTING EXPERIENCE ↓PROGRAMMING ↓CODE REVIEW ↓OSWECareer Connection
Section titled “Career Connection”OSWA skills support roles such as:
Web Penetration Tester
Application Security Analyst
Application Security Engineer
Product Security Analyst
Security Consultant
Bug Triage Analyst
Secure Development SpecialistPortfolio Project 01 — Authentication Assessment
Section titled “Portfolio Project 01 — Authentication Assessment”Build an authorized lab report covering:
Login
Logout
Registration
Password Reset
Session Security
MFA ConceptsPortfolio Project 02 — Authorization Assessment
Section titled “Portfolio Project 02 — Authorization Assessment”Demonstrate:
Role Mapping
Object-Level Access
Function-Level Access
Horizontal Authorization
Vertical AuthorizationPortfolio Project 03 — API Assessment
Section titled “Portfolio Project 03 — API Assessment”Document:
API Architecture
Endpoints
Authentication
Authorization
Input Validation
Sensitive Data
FindingsPortfolio Project 04 — Full Web Assessment
Section titled “Portfolio Project 04 — Full Web Assessment”Combine:
APPLICATION MAPPING +AUTHENTICATION +AUTHORIZATION +SESSIONS +INPUT SECURITY +API SECURITY +BUSINESS LOGIC +REPORTINGInterview Question 01
Section titled “Interview Question 01”What is the first thing you do during a web application assessment?
Confirm authorization and scope, then understand and map the application before performing deeper security testing.
Interview Question 02
Section titled “Interview Question 02”What is the difference between authentication and authorization?
Authentication=Who Are You?Authorization=What Are You Allowed to Access or Do?Interview Question 03
Section titled “Interview Question 03”Why are multiple test accounts useful?
They allow you to compare access between different users and roles and evaluate horizontal and vertical authorization boundaries.
Interview Question 04
Section titled “Interview Question 04”Why is application mapping important?
Because you cannot reliably assess a web application if you do not understand its functions, roles, inputs, endpoints, and workflows.
Interview Question 05
Section titled “Interview Question 05”What is the purpose of session management?
It allows the application to associate multiple HTTP requests with an authenticated or otherwise stateful user context.
40 OSWA Interview and Review Questions
Section titled “40 OSWA Interview and Review Questions”- What is OSWA?
- Who should consider OSWA?
- What is HTTP?
- What is an HTTP request?
- What is an HTTP response?
- What are HTTP methods?
- What are HTTP headers?
- What are cookies?
- What is a session?
- What is authentication?
- What is authorization?
- What is the difference between horizontal and vertical authorization?
- What is object-level authorization?
- Why should hidden application functions still be protected server-side?
- What should be reviewed in password-reset workflows?
- Why should logout invalidate sessions?
- What is input validation?
- What is injection conceptually?
- What is SQL injection conceptually?
- What is cross-site scripting conceptually?
- What is path traversal?
- Why are file uploads security sensitive?
- What is SSRF conceptually?
- What is CSRF conceptually?
- What is CORS?
- What is business logic testing?
- What is application state?
- What is an API?
- What is JSON?
- What is REST?
- Why must APIs enforce authorization?
- What is mass assignment conceptually?
- Why should JavaScript be reviewed?
- What is technology fingerprinting?
- Why should scanner findings be validated?
- Why is evidence important?
- What should a web security finding contain?
- Why should business impact be documented?
- Why is remediation retesting important?
- What makes someone ready for a web application security role?
OSWA Readiness Checklist
Section titled “OSWA Readiness Checklist”Web Fundamentals
Section titled “Web Fundamentals”- Understand client/server architecture
- Understand HTTP
- Understand HTTPS
- Understand methods
- Understand headers
- Understand status codes
- Understand cookies
- Understand sessions
Application Mapping
Section titled “Application Mapping”- Map pages
- Map endpoints
- Map parameters
- Map roles
- Map sensitive functions
- Map APIs
- Map application states
Authentication
Section titled “Authentication”- Review login
- Review logout
- Review registration
- Review password reset
- Review recovery
- Review MFA workflows
- Review session creation
- Review session invalidation
Authorization
Section titled “Authorization”- Test horizontal authorization
- Test vertical authorization
- Review object-level access
- Review function-level access
- Review hidden endpoints
- Review administrative functions
- Review multi-tenant boundaries where applicable
Input Security
Section titled “Input Security”- Understand server-side validation
- Understand injection concepts
- Understand output encoding
- Understand file handling
- Understand URL handling
- Understand browser contexts
- Map API endpoints
- Understand JSON
- Understand authentication
- Review authorization
- Review object ownership
- Review input handling
- Review sensitive data
- Review token lifecycle
Business Logic
Section titled “Business Logic”- Understand workflows
- Understand application states
- Review sensitive actions
- Review workflow sequence
- Review repeated actions
- Review role transitions
Professional Skills
Section titled “Professional Skills”- Maintain structured notes
- Capture evidence
- Validate findings
- Rate risk
- Explain business impact
- Recommend remediation
- Retest fixes
- Write professional reports
Final OSWA Mental Model
Section titled “Final OSWA Mental Model”Remember:
AUTHORIZED APPLICATION ↓MAP ↓UNDERSTAND ↓IDENTIFY ROLES ↓IDENTIFY INPUTS ↓ANALYZE AUTHENTICATION ↓ANALYZE SESSIONS ↓ANALYZE AUTHORIZATION ↓ANALYZE INPUT HANDLING ↓ANALYZE APIs ↓ANALYZE BUSINESS LOGIC ↓VALIDATE ↓CAPTURE EVIDENCE ↓ASSESS IMPACT ↓REPORT ↓RETESTThe OSWA mindset is not:
Which PayloadShould I Try?It is:
How Does This ApplicationMake Security Decisions,and Can Those DecisionsBe Broken?The strongest web security professionals combine:
HTTP KNOWLEDGE +APPLICATION UNDERSTANDING +AUTHENTICATION ANALYSIS +AUTHORIZATION ANALYSIS +INPUT SECURITY +API SECURITY +BUSINESS LOGIC +MANUAL TESTING +REPORTINGWhat’s Next?
Section titled “What’s Next?”➡️ 03 — OSWE
Next, you will move from web application assessment into advanced application-security analysis.
The next stage will focus on:
Advanced Web Architecture ↓Programming ↓Source-Code Analysis ↓Data-Flow Analysis ↓Authentication Logic ↓Authorization Logic ↓Framework Security ↓Complex Vulnerabilities ↓Vulnerability Chaining ↓Advanced API Analysis ↓Manual Code Review ↓Evidence ↓Professional ReportingThe major shift will be:
OSWA=Understand the Applicationfrom the Outsidetoward:
OSWE=Understand the Applicationfrom the Inside