Web Application Security
Test and harden web apps against injection, broken access control and more.
33 labs
Beginner
Web App Authentication: Find, Confirm & Fix (Basic)
Hands-on with Authentication Weakness (brute force) (CWE-307) in Acme Accounts's login feature. Safely reproduce it with an inert training tool (no working exploit), classify it, score it with CVSS, then apply the correct fix and verify.
Beginner
Web App Broken Access Control: Find, Confirm & Fix (Basic)
Hands-on with Broken Access Control (IDOR) (CWE-639) in Acme Billing's invoice viewer (/invoice?id=). Safely reproduce it with an inert training tool (no working exploit), classify it, score it with CVSS, then apply the correct fix and verify.
Beginner
Web App Command Injection: Find, Confirm & Fix (Basic)
Hands-on with Command Injection (CWE-78) in Acme Ops Console's host-diagnostics (ping) feature. Safely reproduce it with an inert training tool (no working exploit), classify it, score it with CVSS, then apply the correct fix and verify.
Beginner
Web App CSRF: Find, Confirm & Fix (Basic)
Hands-on with Cross-Site Request Forgery (CSRF) (CWE-352) in Acme Bank's change-password / money-transfer actions. Safely reproduce it with an inert training tool (no working exploit), classify it, score it with CVSS, then apply the correct fix and verify.
Beginner
Web App File Inclusion: Find, Confirm & Fix (Basic)
Hands-on with File Inclusion (LFI/RFI) (CWE-98) in Acme CMS's page renderer (?page=). Safely reproduce it with an inert training tool (no working exploit), classify it, score it with CVSS, then apply the correct fix and verify.
Beginner
Web App File Upload: Find, Confirm & Fix (Basic)
Hands-on with Unrestricted File Upload (CWE-434) in Acme Portal's avatar/document upload feature. Safely reproduce it with an inert training tool (no working exploit), classify it, score it with CVSS, then apply the correct fix and verify.
Beginner
Web App SQL Injection: Find, Confirm & Fix (Basic)
Hands-on with SQL Injection (CWE-89) in Acme Store's login / product-search feature. Safely reproduce it with an inert training tool (no working exploit), classify it, score it with CVSS, then apply the correct fix and verify.
Beginner
Web App SSRF: Find, Confirm & Fix (Basic)
Hands-on with Server-Side Request Forgery (CWE-918) in a web app's URL-fetch feature. Safely reproduce it with an inert training tool (reach an internal service and the cloud metadata endpoint), classify it as SSRF, score it with CVSS, then fix it with a host allowlist that blocks link-local/metadata and disables redirects, and verify.
Beginner
Web App SSTI: Find, Confirm & Fix (Basic)
Hands-on with Server-Side Template Injection (SSTI) (CWE-1336) in Acme Mailer's greeting/personalization feature. Safely reproduce it with an inert training tool (no working exploit), classify it, score it with CVSS, then apply the correct fix and verify.
Beginner
Web App XSS: Find, Confirm & Fix (Basic)
Hands-on with Cross-Site Scripting (XSS) (CWE-79) in Acme Community's comment feature. Safely reproduce it with an inert training tool (no working exploit), classify it, score it with CVSS, then apply the correct fix and verify.
Beginner
Web App XXE: Find, Confirm & Fix (Basic)
Hands-on with XML External Entity (XXE) (CWE-611) in Acme Invoicing's XML import feature. Safely reproduce it with an inert training tool (no working exploit), classify it, score it with CVSS, then apply the correct fix and verify.
Intermediate
Authentication Attack Detection & Incident Response
Respond to a Authentication Weakness (brute force) compromise (CWE-307) in Acme Accounts. Reconstruct the timeline from the access and service logs, scope the impact, engineer a detection rule tuned past a benign look-alike, then contain, eradicate, verify and report.
Intermediate
Broken Access Control (IDOR) Detection & Incident Response
Respond to a Broken Access Control (IDOR) compromise (CWE-639) in Acme Billing. Reconstruct the timeline from the access and service logs, scope the impact, engineer a detection rule tuned past a benign look-alike, then contain, eradicate, verify and report.
Intermediate
Command Injection Detection & Incident Response
Respond to a Command Injection compromise (CWE-78) in Acme Ops Console. Reconstruct the timeline from the access and service logs, scope the impact, engineer a detection rule tuned past a benign look-alike, then contain, eradicate, verify and report.
Intermediate
Cross-Site Request Forgery Detection & Incident Response
Respond to a Cross-Site Request Forgery (CSRF) compromise (CWE-352) in Acme Bank. Reconstruct the timeline from the access and service logs, scope the impact, engineer a detection rule tuned past a benign look-alike, then contain, eradicate, verify and report.
Intermediate
Cross-Site Scripting Detection & Incident Response
Respond to a Cross-Site Scripting (XSS) compromise (CWE-79) in Acme Community. Reconstruct the timeline from the access and service logs, scope the impact, engineer a detection rule tuned past a benign look-alike, then contain, eradicate, verify and report.
Intermediate
File Inclusion Detection & Incident Response
Respond to a File Inclusion (LFI/RFI) compromise (CWE-98) in Acme CMS. Reconstruct the timeline from the access and service logs, scope the impact, engineer a detection rule tuned past a benign look-alike, then contain, eradicate, verify and report.
Intermediate
Server-Side Template Injection Detection & Incident Response
Respond to a Server-Side Template Injection (SSTI) compromise (CWE-1336) in Acme Mailer. Reconstruct the timeline from the access and service logs, scope the impact, engineer a detection rule tuned past a benign look-alike, then contain, eradicate, verify and report.
Intermediate
SQL Injection Detection & Incident Response
Respond to a SQL Injection compromise (CWE-89) in Acme Store. Reconstruct the timeline from the access and service logs, scope the impact, engineer a detection rule tuned past a benign look-alike, then contain, eradicate, verify and report.
Intermediate
SSRF Detection & Incident Response
Respond to a Server-Side Request Forgery compromise (CWE-918) where a web app's URL-fetch feature was aimed at the cloud metadata endpoint and leaked IAM credentials. Reconstruct the timeline from the access and fetch logs, scope the credential exposure, engineer a detection rule for fetches aimed at internal/link-local targets (tuned past a benign look-alike), then contain with an allowlist, rotate the exposed credentials, verify and report.
Intermediate
Unrestricted File Upload Detection & Incident Response
Respond to a Unrestricted File Upload compromise (CWE-434) in Acme Portal. Reconstruct the timeline from the access and service logs, scope the impact, engineer a detection rule tuned past a benign look-alike, then contain, eradicate, verify and report.
Intermediate
XML External Entity Detection & Incident Response
Respond to a XML External Entity (XXE) compromise (CWE-611) in Acme Invoicing. Reconstruct the timeline from the access and service logs, scope the impact, engineer a detection rule tuned past a benign look-alike, then contain, eradicate, verify and report.
Expert
Root-Cause & Secure-Code Remediation: Authentication
Fix Authentication Weakness (brute force) (CWE-307) at the source. Read the vulnerable handler, see the sink, reject a denylist, apply the real fix, record defense-in-depth hardening, and verify with audit and vulnscan.
Expert
Root-Cause & Secure-Code Remediation: Broken Access Control
Fix Broken Access Control (IDOR) (CWE-639) at the source. Read the vulnerable handler, see the sink, reject a denylist, apply the real fix, record defense-in-depth hardening, and verify with audit and vulnscan.
Expert
Root-Cause & Secure-Code Remediation: Command Injection
Fix Command Injection (CWE-78) at the source. Read the vulnerable handler, see the sink, reject a denylist, apply the real fix, record defense-in-depth hardening, and verify with audit and vulnscan.
Expert
Root-Cause & Secure-Code Remediation: CSRF
Fix Cross-Site Request Forgery (CSRF) (CWE-352) at the source. Read the vulnerable handler, see the sink, reject a denylist, apply the real fix, record defense-in-depth hardening, and verify with audit and vulnscan.
Expert
Root-Cause & Secure-Code Remediation: File Inclusion
Fix File Inclusion (LFI/RFI) (CWE-98) at the source. Read the vulnerable handler, see the sink, reject a denylist, apply the real fix, record defense-in-depth hardening, and verify with audit and vulnscan.
Expert
Root-Cause & Secure-Code Remediation: File Upload
Fix Unrestricted File Upload (CWE-434) at the source. Read the vulnerable handler, see the sink, reject a denylist, apply the real fix, record defense-in-depth hardening, and verify with audit and vulnscan.
Expert
Root-Cause & Secure-Code Remediation: SQL Injection
Fix SQL Injection (CWE-89) at the source. Read the vulnerable handler, see the sink, reject a denylist, apply the real fix, record defense-in-depth hardening, and verify with audit and vulnscan.
Expert
Root-Cause & Secure-Code Remediation: SSRF
Fix Server-Side Request Forgery (CWE-918) at the source. Read the vulnerable URL-fetch handler, see how it fetches any user URL and follows redirects, reject a substring blocklist, and apply the real fix: allowlist the host, resolve it and reject loopback/link-local/private IPs, and disable redirects. Record IMDSv2 + egress hardening and verify with audit and vulnscan.
Expert
Root-Cause & Secure-Code Remediation: SSTI
Fix Server-Side Template Injection (SSTI) (CWE-1336) at the source. Read the vulnerable handler, see the sink, reject a denylist, apply the real fix, record defense-in-depth hardening, and verify with audit and vulnscan.
Expert
Root-Cause & Secure-Code Remediation: XSS
Fix Cross-Site Scripting (XSS) (CWE-79) at the source. Read the vulnerable handler, see the sink, reject a denylist, apply the real fix, record defense-in-depth hardening, and verify with audit and vulnscan.
Expert
Root-Cause & Secure-Code Remediation: XXE
Fix XML External Entity (XXE) (CWE-611) at the source. Read the vulnerable handler, see the sink, reject a denylist, apply the real fix, record defense-in-depth hardening, and verify with audit and vulnscan.