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. | 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. | 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. | 8 | PRO | |
|
|
H2 INIT Parameter RCE II | < 1 Hr. | 10 | PRO | |
|
|
CVE-2026-XX957
This challenge covers the review of a CVE in a typescript codebase and its patch
|
< 1 Hr. | 27 | PRO | |
|
|
CVE-2026-XX792
This challenge covers the review of a CVE in a typescript codebase and its patch
|
-- | 25 | PRO | |
|
|
CVE-2026-XX464
This challenge covers the review of a CVE in a typescript codebase and its patch
|
-- | 26 | PRO | |
|
|
H2 INIT Parameter RCE | < 1 Hr. | 11 | PRO | |
|
|
SAML: Transform RCE
This exercise covers the exploitation of an RCE in SAML by leveraging a vulnerable version of xmlsec
|
< 1 Hr. | 11 | PRO | |
|
|
Web Fundamentals: WebDAV Introduction | -- | 63 | PRO | |
|
|
Web Fundamentals: Browser Storage | -- | 65 | PRO | |
|
|
Web Fundamentals: Proxy | -- | 64 | PRO | |
|
|
Web Fundamentals: WebSockets | -- | 77 | PRO | |
|
|
Web Fundamentals: Same-Origin Policy Introduction | -- | 71 | PRO | |
|
|
Web Fundamentals: CORS Introduction | -- | 72 | PRO | |
|
|
Web Fundamentals: API | -- | 84 | PRO | |
|
|
Web Fundamentals: GraphQL | -- | 75 | PRO | |
|
|
Web Fundamentals: Server-Side Code | -- | 95 | PRO | |
|
|
Web Fundamentals: Databases | -- | 88 | PRO | |
|
|
Web Fundamentals: Sessions | -- | 83 | PRO | |
|
|
Web Fundamentals: Client-Side Code | -- | 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. | 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. | 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. | 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. | 20 | PRO | |
|
|
JS Sandbox: static-eval Destructuring Parameter Bypass
This exercise covers bypassing static-eval parameter validation using destructured parameters (ObjectPattern).
|
< 1 Hr. | 13 | PRO | |
|
|
CVE-2026-XX242
This challenge covers the review of a CVE in a python codebase and its patch
|
< 1 Hr. | 49 | PRO | |
|
|
CVE-2026-XX738
This challenge covers the review of a CVE in a python codebase and its patch
|
< 1 Hr. | 46 | PRO | |
|
|
Web Fundamentals: Introduction | < 1 Hr. | 160 | PRO | |
|
|
JS Sandbox: AST-Based Filtering
This exercise covers bypassing AST-based sandbox filtering using computed property access or Reflect.get().
|
-- | 23 | PRO |
Showing 1–30 of 755 exercises
Free Labs of the Month