Exercises
| Exercise | Avg. Time | Difficulty | Solved by | Tier | |
|---|---|---|---|---|---|
|
|
Java Serialize 08
This challenge covers exploiting Object.equals(), triggered during HashSet and HashMap deserialization, as a gadget entry point.
|
5 | PRO | ||
|
|
Java Serialize 09
This challenge covers exploiting toString() through a wrapper class, the technique behind BadAttributeValueExpException in Commons Collections.
|
4 | PRO | ||
|
|
Java Serialize 10
This challenge covers chaining multiple classes together into a multi-class gadget chain, bridging single-class exploits to real-world attacks.
|
4 | PRO | ||
|
|
Java Serialize 07
This challenge covers using readResolve() as a deserialization entry point to trigger a gadget chain after the object is restored.
|
5 | PRO | ||
|
|
SOAPBridge: Savon WSDL Code Injection
Gain code execution through an unsafe module_eval call during WSDL import.
|
8 | PRO | ||
|
|
CVE-2026-55415: Schema Import Injection
Gain code execution by injecting Python through a crafted JSON Schema when the generated Pydantic model is imported.
|
9 | PRO | ||
|
|
Instruction Hierarchy
The system prompt explicitly establishes an instruction hierarchy. Find a way to confuse or bypass the priority system.
|
30 | PRO | ||
|
|
PHP eval() Class Hoisting RCE
This challenge covers an unauthenticated remote code execution reproducing MantisBT CVE-2026-49273: a value is validated with eval('return; ...'), but PHP hoists class declarations past the return; at compile time, letting an attacker pre-declare the class the app then autoloads and instantiates.
|
< 1 Hr. | 14 | 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. | 18 | PRO | |
|
|
SAML: Transform RCE
This exercise covers the exploitation of an RCE in SAML by leveraging a vulnerable version of xmlsec
|
< 1 Hr. | 18 | PRO | |
|
|
JS Sandbox: static-eval Destructuring Parameter Bypass
This exercise covers bypassing static-eval parameter validation using destructured parameters (ObjectPattern).
|
< 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. | 27 | 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. | 26 | 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. | 26 | 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. | 25 | PRO | |
|
|
JS Sandbox: Regex Filter Bypass
This exercise covers bypassing regex filters with hex escapes, unicode escapes, or base64 decoding.
|
< 1 Hr. | 33 | PRO | |
|
|
JS Sandbox: Type Confusion Bypass
This exercise covers bypassing string sanitization by sending an object when the sanitizer expects a string.
|
< 1 Hr. | 29 | PRO | |
|
|
JS Sandbox: AST-Based Filtering
This exercise covers bypassing AST-based sandbox filtering using computed property access or Reflect.get().
|
29 | PRO | ||
|
|
JS Sandbox: vm.runInNewContext Empty Context
This exercise covers escaping Node.js vm.runInNewContext with an empty sandbox object via the constructor chain.
|
27 | PRO | ||
|
|
JS Sandbox: Keyword Blocklist Bypass
This exercise covers bypassing indexOf/includes blocklists with bracket notation and string concatenation.
|
< 1 Hr. | 37 | PRO | |
|
|
Latex: --shell-escape
This exercise covers how one can leverage latex when pdflatex is used with the --shell-escape option to gain command execution.
|
< 1 Hr. | 67 | PRO | |
|
|
CVE-2022-24720
This exercise covers how one can leverage image processing in ActiveStorage to gain command execution.
|
1-2 Hr. | 47 | PRO | |
|
|
CVE-2024-47081 | < 1 Hr. | 33 | PRO | |
|
|
UUIDv1 IDOR | < 1 Hr. | 251 | PRO | |
|
|
API Mass-Assignment 03 | < 1 Hr. | 490 | PRO | |
|
|
API Mass-Assignment 02 | < 1 Hr. | 522 | PRO | |
|
|
API Mass-Assignment 01 | < 1 Hr. | 550 | PRO | |
|
|
Mongo IDOR III | < 1 Hr. | 285 | PRO | |
|
|
API 19
This exercise covers how to exploit an authorization issue in an API.
|
< 1 Hr. | 602 | PRO | |
|
|
API 18
This exercise covers how to exploit an authorization issue in an API.
|
< 1 Hr. | 614 | PRO |
Showing 1–30 of 269 exercises
Free Labs of the Month