OSWE study materials
OSWE study resources

OSWE study plan

OSWE · Give each week a clear focus.

8 weeks · About 7 hours per week

Week 1

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

Week 2

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

Week 3

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

Week 4

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

Week 5

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

Week 6

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

Week 7

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

Week 8

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