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 4 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 4 PRO
CVE-2026-24895: FrankenPHP Path Confusion RCE using Unicode < 1 Hr. hard 23 PRO
SAML: CVE-2025-25291
This exercise covers the exploitation of CVE-2025-25291 (impacting ruby-saml)
2-4 Hr. hard 21 PRO
SAML: CVE-2025-29775 Signed Metadata
This exercise covers the exploitation of CVE-2025-29775 (impacting xml-crypto) without XMLResponse
2-4 Hr. hard 16 PRO
SAML: CVE-2025-29775
This exercise covers the exploitation of CVE-2025-29775 (impacting xml-crypto)
1-2 Hr. hard 24 PRO
JSON Web Token XV: CVE-2022-39227 JWT
This exercise covers the exploitation of polyglot token against python_jwt (CVE-2022-39227)
< 1 Hr. hard 48 PRO
JWT Algorithm Confusion with ECDSA Public Key Recovery JWT
This exercise covers the exploitation of algorithm confusion when no public key is available with a ECDSA key
1-2 Hr. hard 51 PRO
SAML: Malicious IDP
This exercise covers the creation of a malicious IDP to forge an assertion
2-4 Hr. hard 89 PRO
OAuth2: Authorization Server XSS II
This exercise covers the exploitation of an XSS in an OAuth2 Authorization Server
< 1 Hr. hard 294 PRO
JWT Algorithm Confusion with RSA Public Key Recovery JWT
This exercise covers the exploitation of algorithm confusion when no public key is available
< 1 Hr. hard 236 PRO
SAML: Signature Wrapping II
This exercise covers how to use Signature Wrapping to become an arbitrary user
< 1 Hr. hard 510 PRO
SAML: Signature Wrapping
This exercise covers how to use Signature Wrapping to become an arbitrary user
< 1 Hr. hard 617 PRO
OAuth2: Predictable State II
This exercise covers the exploitation of a predictable state in an OAuth2 Client
1-2 Hr. hard 284 PRO
OAuth2: Predictable State
This exercise covers the exploitation of a predictable state in an OAuth2 Client
2-4 Hr. hard 309 PRO
OAuth2: Client Server XSS
This exercise covers the exploitation of a Cross-Site Scripting in an OAuth2 Client and Server
1-2 Hr. hard 388 PRO
OAuth2: Github HTTP HEAD
This exercise covers the exploitation of the HTTP HEAD issue impacting Github in 2019
< 1 Hr. hard 472 PRO
JWT XII JWT
This exercise covers how to use the x5u header to bypass an authentication based on JWT.
1-2 Hr. hard 713 PRO
JWT XI JWT
This exercise covers how to use the jku header to bypass an authentication based on JWT.
1-2 Hr. hard 709 PRO
JWT X JWT
This exercise covers how to use the jku header to bypass an authentication based on JWT.
< 1 Hr. hard 805 PRO
JWT IX JWT
This exercise covers how to use the jku header to bypass an authentication based on JWT.
< 1 Hr. hard 936 PRO
Gogs RCE II
This exercise covers how to get code execution against the Git self hosted tool: Gogs.
< 1 Hr. hard 621 PRO
JWT VIII JWT
This exercise covers how to use the jku header to bypass an authentication based on JWT.
1-2 Hr. hard 1013 PRO
Gogs RCE
This exercise covers how to get code execution against the Git self hosted tool: Gogs.
1-2 Hr. hard 697 PRO
Android 07
This exercise will guide you through the process of reversing a simple obfuscated Android code to recover the encrypted data
1-2 Hr. hard 1504 PRO
Android 06
This exercise will guide you through the process of reversing a simple obfuscated Android code to recover the encrypted data
< 1 Hr. hard 1763 PRO
Android 08
This exercise will guide you through the process of reversing a simple obfuscated Android code to recover the encrypted data
1-2 Hr. hard 1426 PRO
From SQL injection to Shell III SQL Injection
This exercise covers how to gain access to an administration interface using SQL injection followed by how to get command execution using ImageTragick
1-2 Hr. hard 1164 PRO
IDOR to Shell
This exercise covers how to get code execution by chaining vulnerabilities in a Ruby-on-Rails application
1-2 Hr. hard 1094 PRO
ECDSA Crypto
This exercise covers the exploitation of a weakness in the usage of ECDSA
2-4 Hr. hard 372 PRO
1 2
Showing 1–30 of 35 exercises