CWICP study plan
CWICP · Give each week a clear focus.
8 weeks · About 7 hours per week
Web Application Fundamentals and HTTP & Input Validation and Injection Testing
Map the HTTP request/response lifecycle end to end: methods, status code families, headers that carry security meaning (Host, Origin, Referer, Content-Type, Content-Length, Transfer-Encoding, Set-Cookie), and where each is trustworthy or attacker-controlled.
Explain how browsers parse and normalize URLs, forms, JSON, multipart bodies, and cookies, and list three places where a parser mismatch between browser and server can create a bypass.
Classify injection families (SQLi, NoSQLi, command injection, template injection, LDAP/XPath, header injection, deserialization) by the sink they reach and the encoding they require.
Set up a local lab (containerized vulnerable app plus an intercepting proxy) and confirm you can capture, replay, and edit requests with correct Content-Length and encoding.
Your checkpoint
A one-page HTTP-to-injection cheat sheet plus a lab log showing five replayed requests with annotations on which header or body field was attacker-controlled.
Input Validation and Injection Testing
Detect and confirm SQL injection across in-band, blind boolean, and time-based channels, and write the exact payload pairs you would use to prove each without damaging data.
Demonstrate second-order injection and explain why input filtering at the entry point fails when the sink re-uses stored data.
Test for OS command injection and server-side template injection, including how to distinguish a template evaluation from simple string reflection.
Test for XML external entity and unsafe deserialization where the application accepts structured input, and describe the minimum proof that avoids reading real files.
Write remediation guidance for each finding that names the correct fix (parameterized queries, allowlist APIs, safe template contexts, disabling dangerous deserializers) rather than generic escaping advice.
Your checkpoint
A lab report of six confirmed injection findings, each with request, response evidence, root cause, and a specific code-level fix recommendation.
Authentication and Session Management Testing
Test login flows for username enumeration through response body, status code, and timing differences, and document which channel leaked.
Evaluate password policy and lockout behavior by testing rate limits, account lockout thresholds, and whether lockout itself enables denial of service.
Analyze session tokens for entropy, predictability, rotation on privilege change, and idle versus absolute timeout enforcement.
Test session fixation, cookie attribute handling (Secure, HttpOnly, SameSite, Domain, Path), and logout invalidation on both server and client.
Assess multi-factor authentication: bypass via response manipulation, missing enforcement on alternate endpoints, and recovery-flow weaknesses.
Your checkpoint
An authentication test matrix covering at least eight test cases with pass/fail results from your lab and the evidence that determined each verdict.
Authorization and Access Control Testing
Enumerate access control models in play (horizontal, vertical, context-dependent) and map every endpoint that takes an object identifier.
Test for insecure direct object reference and broken function-level authorization by replaying requests across two accounts with different roles.
Test forced browsing to unlinked administrative paths and verify whether authorization is enforced server-side rather than by hidden UI.
Identify privilege escalation paths through mass assignment, role parameters in request bodies, and trust in client-supplied headers such as X-Forwarded-For or X-Original-URL.
Your checkpoint
A two-account authorization test log listing every endpoint probed, the role pair used, the observed result, and a severity rationale for each confirmed gap.
Information Gathering and Reconnaissance & Client-Side and Browser Security Testing
Build a reconnaissance workflow: passive OSINT, DNS enumeration, certificate transparency review, subdomain discovery, and technology fingerprinting, recording sources for every asset.
Test reflected, stored, and DOM-based cross-site scripting, and explain how each requires a different detection strategy and payload context.
Test cross-site request forgery defenses by checking token binding, SameSite behavior, and whether state-changing GET requests exist.
Assess client-side controls: Content Security Policy effectiveness, postMessage origin checks, client-side storage of secrets, and third-party script trust.
Test clickjacking exposure and confirm whether frame-ancestors or X-Frame-Options is actually enforced.
Your checkpoint
An asset inventory with discovery source per host plus a client-side findings sheet covering XSS, CSRF, CSP, and clickjacking results.
Cryptography and Transport Security & Server Configuration, Hosting, and Infrastructure
Evaluate TLS configuration: protocol versions, cipher suites, certificate chain validity, HSTS including preload and includeSubDomains, and mixed-content exposure.
Identify weak cryptographic practice in the application layer: homegrown crypto, ECB mode, static IVs, weak password hashing, and secrets committed to client code.
Review server and infrastructure configuration: default pages, directory listing, verbose errors, unnecessary HTTP methods, backup files, and exposed admin or debug interfaces.
Assess hosting-level risks you can legitimately observe: cloud storage permissions, exposed metadata endpoints, and trust boundaries between reverse proxy and application.
Check security headers as a set and explain what each does and does not protect against.
Your checkpoint
A transport-and-infrastructure findings table with one row per issue, the observed configuration, the risk it creates, and the exact configuration change recommended.
Web Application Firewalls, Filtering, and Evasion
Characterize how a web application firewall sees traffic: normalization, decoding order, and which layers (network, host, application) inspect what.
Build a library of encoding and obfuscation techniques (case variation, comment insertion, alternate encodings, parameter pollution) and test which ones change detection in your lab.
Explain why WAF bypass is a detection-gap finding rather than a primary vulnerability, and write it up so the underlying flaw stays the headline.
Practice safe evasion testing boundaries: scope limits, rate limits, and when to stop rather than degrade service.
Your checkpoint
A bypass technique log with at least six payload transformations, the detection outcome for each, and a note on the underlying vulnerability each transformation exposed.
Reporting, Remediation, and Professional Ethics & Input Validation and Injection Testing & Authentication and Session Management Testing
Write a finding in a standard structure: title, affected asset, reproduction steps, evidence, business impact, root cause, remediation, and references, with no vendor-specific tooling jargon.
Rewrite three earlier lab findings to remove vague language and replace it with measurable impact and prioritized remediation.
Perform a timed review pass across the heaviest domains (input validation, authentication, authorization) using your own notes only, and log every gap you find.
Prepare a short verbal summary of a critical finding suitable for a non-technical stakeholder.
Your checkpoint
A polished sample report of three findings, at least one rated critical, reviewed against a self-built quality checklist and revised once.
Milestones
Week 2: You can explain, without notes, the difference between reflected and second-order injection and reproduce one confirmed injection finding from scratch in under 20 minutes.
Week 4: You have completed authentication and authorization test matrices against two accounts with different roles and can justify each verdict with captured evidence.
Week 6: You can read a TLS configuration and a set of response headers and state which specific risks are and are not mitigated.
Week 8: You have a revised three-finding sample report that a reviewer could act on without asking you follow-up questions.