OSWE study plan
OSWE · Give each week a clear focus.
8 weeks · About 7 hours per week
Injection Vulnerabilities (SQL, NoSQL, LDAP, OS Command)
Trace user-controlled input from an HTTP handler to a database query in a supplied codebase and annotate every unsafe sink
Write a boolean-based blind SQL injection extractor that recovers a value character by character without a GUI tool
Convert a manual UNION-based injection into a parameterized Python script that auto-detects column count and data types
Exploit NoSQL operator injection in a JSON login handler and LDAP filter injection against a directory-backed search endpoint
Your checkpoint
A repository containing three working injection scripts (blind SQLi, NoSQL auth bypass, LDAP filter injection) plus a mapping of each payload to the exact source lines reached
Injection Vulnerabilities (SQL, NoSQL, LDAP, OS Command) & Source Code Analysis and Web Application Reconnaissance
Exploit OS command injection through a shell-invoking function and convert it into an out-of-band channel for command output
Run an automated static analysis pass (semgrep or CodeQL rules) over a vulnerable application and triage results down to confirmed true positives
Inventory dangerous sinks (eval, exec, system, popen, unserialize, template render) and rank them by reachability from an unauthenticated route
Document a source-to-sink dataflow diagram for the two highest-risk taint paths found
Your checkpoint
A source-review report with a ranked sink inventory, a dataflow diagram, and two chained proof-of-concept exploits with reproduction steps
Authentication, Session Management, and Access Control Flaws
Diagram the full authentication flow of a test application and list each point where a session token is created, rotated, or trusted
Exploit missing function-level access control and IDOR by scripting identifier enumeration across at least ten endpoints
Demonstrate a JWT weakness: algorithm confusion or offline cracking of a weak signing secret, then forge a privileged token
Probe password-reset and remember-me logic for predictable or replayable tokens and record the outcome
Your checkpoint
An access-control test matrix covering at least ten endpoints with request/response evidence and a forged-token PoC
Source Code Analysis and Web Application Reconnaissance & Cross-Site Scripting and Client-Side Attack Chaining
Build a repeatable reconnaissance checklist covering technology fingerprinting, endpoint discovery, and extraction of hidden routes and keys from bundled JavaScript
Trace a stored cross-site scripting flaw from input to an unescaped output sink in source code, then chain it to a state-changing privileged action
Bypass a restrictive Content-Security-Policy and a common input filter using encoding variations and DOM sink analysis
Your checkpoint
An end-to-end XSS chain writeup including the source trace, the working payload, and an automation script that delivers it
File Handling Flaws (Upload, Path Traversal, Local/Remote File Inclusion) & Cross-Site Scripting and Client-Side Attack Chaining
Exploit path traversal to read files outside the intended directory, including at least three filter-bypass techniques (encoding, double dots, truncation)
Achieve code execution through an unrestricted file upload by defeating extension, MIME-type, and content-type validation separately
Escalate local file inclusion to remote code execution via log poisoning and via a PHP stream wrapper, and test remote file inclusion where allow_url_include is enabled
Your checkpoint
A file-handling exploit kit with traversal, upload, and LFI-to-RCE scripts plus a bypass cheat sheet annotated with the validation each bypass defeats
Deserialization and Server-Side Template Injection
Locate insecure deserialization sinks in at least two language ecosystems and build a working gadget-based payload for one
Craft a serialized-object exploit that abuses magic methods to reach a dangerous call, and explain why the chain survives validation
Confirm server-side template injection by fuzzing arithmetic template expressions, then escalate to command execution with an engine-specific payload
Write detection heuristics that distinguish a genuine deserialization or SSTI finding from a false positive
Your checkpoint
Two working proofs of concept (one deserialization, one SSTI) each with a detection heuristic and a false-positive analysis note
SSRF and XML External Entity Processing & Business Logic and Authorization Bypass
Exploit server-side request forgery to reach an internal-only service, defeating an allowlist using redirects, DNS rebinding, or alternate IP encodings
Exploit XML external entity processing for local file disclosure and for out-of-band exfiltration through an attacker-controlled DTD
Identify and exploit at least two business logic flaws such as price or quantity manipulation, workflow step skipping, and a race condition on a limited resource
Your checkpoint
An SSRF/XXE proof-of-concept set plus a logic-flaw report documenting each abuse case, its precondition, and a suggested fix
Custom Exploit Scripting and Vulnerability Chaining & Injection Vulnerabilities (SQL, NoSQL, LDAP, OS Command) & Authentication, Session Management, and Access Control Flaws
Write a reusable Python exploitation framework with argument parsing, session handling, payload encoding, and structured logging
Chain at least three flaws drawn from different domains into a single exploit path from unauthenticated access to objective completion
Complete one timed full-scope practice engagement and record every point where time was lost or a technique had to be looked up
Your checkpoint
A single end-to-end chained exploit script plus a prioritized personal gap list mapping each weakness to a refresher task
Milestones
Week 2: Can explain and demonstrate, without notes, how a taint path becomes an injection primitive, and reproduce both chained PoCs from the source-review report
Week 4: Complete a timed two-hour mini-assessment covering injection and access control with at least eighty percent of objectives achieved
Week 6: Correctly identify the vulnerability class from source snippets alone in at least eight of ten mixed samples spanning all domains covered so far
Week 8: Deliver a multi-domain chained exploit from an unauthenticated starting point and pass a self-graded rubric on scripting quality, reliability, and documentation