Exercises

Exercise Avg. Time Difficulty Solved by Tier
Fastjson @JSONType RCE on default embedded Tomcat (/proc/self/fd)
This challenge is the second in the fastjson @JSONType series. Unlike lab I it runs on a stock Spring Boot app on the latest JDK that parses on the Tomcat request thread with no classloader wiring. A direct jar:http payload only yields SSRF there; remote code execution comes from the two-request /proc/self/fd variant, whose file: class name has no '//', so Tomcat's own webapp classloader defines it on the request thread.
2-4 Hr. hard 2 PRO
Fastjson @JSONType jar: URL RCE
This challenge covers a remote code execution in fastjson 1.2.83 with autoType disabled, by abusing the @JSONType trust probe in ParserConfig.checkAutoType together with a jar:http:// class name loaded through Spring Boot's LaunchedURLClassLoader on JDK 8.
< 1 Hr. hard 3 PRO
wp2shell: CVE-2026-63030 & CVE-2026-60137 CVE-2026-63030 CVE-2026-60137 WordPress Remote Code Execution
This challenge covers gaining a shell on WordPress by chaining CVE-2026-63030 and CVE-2026-60137.
2-4 Hr. medium 8 PRO
H2 INIT Parameter RCE II < 1 Hr. hard 10 PRO
CVE-2026-XX957
This challenge covers the review of a CVE in a typescript codebase and its patch
< 1 Hr. hard 27 PRO
CVE-2026-XX792
This challenge covers the review of a CVE in a typescript codebase and its patch
-- hard 25 PRO
CVE-2026-XX464
This challenge covers the review of a CVE in a typescript codebase and its patch
-- hard 26 PRO
H2 INIT Parameter RCE < 1 Hr. hard 11 PRO
SAML: Transform RCE
This exercise covers the exploitation of an RCE in SAML by leveraging a vulnerable version of xmlsec
< 1 Hr. medium 11 PRO
Web Fundamentals: WebDAV Introduction -- hard 63 PRO
Web Fundamentals: Browser Storage -- hard 65 PRO
Web Fundamentals: Proxy -- hard 64 PRO
Web Fundamentals: WebSockets -- hard 77 PRO
Web Fundamentals: Same-Origin Policy Introduction -- hard 71 PRO
Web Fundamentals: CORS Introduction -- hard 72 PRO
Web Fundamentals: API -- hard 84 PRO
Web Fundamentals: GraphQL -- hard 75 PRO
Web Fundamentals: Server-Side Code -- hard 95 PRO
Web Fundamentals: Databases -- hard 88 PRO
Web Fundamentals: Sessions -- hard 83 PRO
Web Fundamentals: Client-Side Code -- hard 95 PRO
JS Sandbox: vm.runInNewContext Restricted Globals
This exercise covers escaping vm.runInNewContext when specific safe objects are provided but frozen, using Error objects or Promise callbacks.
< 1 Hr. medium 17 PRO
JS Sandbox: vm.runInNewContext Null Prototype
This exercise covers escaping vm.runInNewContext when the context is created with Object.create(null) so this.constructor is undefined.
< 1 Hr. medium 19 PRO
JS Sandbox: static-eval Function Property Blocked
This exercise covers bypassing post-2.0 static-eval that blocks member access on functions, using anonymous function bodies.
< 1 Hr. medium 19 PRO
JS Sandbox: static-eval Direct Constructor Access
This exercise covers exploiting the original unpatched static-eval with unrestricted property access on functions.
< 1 Hr. medium 20 PRO
JS Sandbox: static-eval Destructuring Parameter Bypass
This exercise covers bypassing static-eval parameter validation using destructured parameters (ObjectPattern).
< 1 Hr. medium 13 PRO
CVE-2026-XX242
This challenge covers the review of a CVE in a python codebase and its patch
< 1 Hr. hard 49 PRO
CVE-2026-XX738
This challenge covers the review of a CVE in a python codebase and its patch
< 1 Hr. hard 46 PRO
Web Fundamentals: Introduction < 1 Hr. hard 160 PRO
JS Sandbox: AST-Based Filtering
This exercise covers bypassing AST-based sandbox filtering using computed property access or Reflect.get().
-- medium 23 PRO
1 2 3 4 26
Showing 1–30 of 755 exercises