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 12 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 11 PRO
CVE-2026-24895: FrankenPHP Path Confusion RCE using Unicode < 1 Hr. hard 28 PRO
SAML: CVE-2025-25291
This exercise covers the exploitation of CVE-2025-25291 (impacting ruby-saml)
2-4 Hr. hard 28 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 23 PRO
SAML: CVE-2025-29775
This exercise covers the exploitation of CVE-2025-29775 (impacting xml-crypto)
1-2 Hr. hard 31 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 58 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 62 PRO
SAML: Malicious IDP
This exercise covers the creation of a malicious IDP to forge an assertion
< 1 Hr. hard 109 PRO
OAuth2: Authorization Server XSS II
This exercise covers the exploitation of an XSS in an OAuth2 Authorization Server
< 1 Hr. hard 311 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 255 PRO
SAML: Signature Wrapping II
This exercise covers how to use Signature Wrapping to become an arbitrary user
< 1 Hr. hard 527 PRO
SAML: Signature Wrapping
This exercise covers how to use Signature Wrapping to become an arbitrary user
< 1 Hr. hard 635 PRO
OAuth2: Predictable State II
This exercise covers the exploitation of a predictable state in an OAuth2 Client
< 1 Hr. hard 298 PRO
OAuth2: Predictable State
This exercise covers the exploitation of a predictable state in an OAuth2 Client
< 1 Hr. hard 323 PRO
OAuth2: Client Server XSS
This exercise covers the exploitation of a Cross-Site Scripting in an OAuth2 Client and Server
< 1 Hr. hard 403 PRO
OAuth2: Github HTTP HEAD
This exercise covers the exploitation of the HTTP HEAD issue impacting Github in 2019
< 1 Hr. hard 488 PRO
JWT XII JWT
This exercise covers how to use the x5u header to bypass an authentication based on JWT.
< 1 Hr. hard 729 PRO
JWT XI JWT
This exercise covers how to use the jku header to bypass an authentication based on JWT.
< 1 Hr. hard 724 PRO
JWT X JWT
This exercise covers how to use the jku header to bypass an authentication based on JWT.
< 1 Hr. hard 821 PRO
JWT IX JWT
This exercise covers how to use the jku header to bypass an authentication based on JWT.
< 1 Hr. hard 949 PRO
Gogs RCE II
This exercise covers how to get code execution against the Git self hosted tool: Gogs.
< 1 Hr. hard 633 PRO
JWT VIII JWT
This exercise covers how to use the jku header to bypass an authentication based on JWT.
< 1 Hr. hard 1028 PRO
Gogs RCE
This exercise covers how to get code execution against the Git self hosted tool: Gogs.
< 1 Hr. hard 708 PRO
Android 07
This exercise will guide you through the process of reversing a simple obfuscated Android code to recover the encrypted data
< 1 Hr. hard 1518 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 1778 PRO
Android 08
This exercise will guide you through the process of reversing a simple obfuscated Android code to recover the encrypted data
< 1 Hr. hard 1439 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 Hr. hard 1181 PRO
IDOR to Shell
This exercise covers how to get code execution by chaining vulnerabilities in a Ruby-on-Rails application
< 1 Hr. hard 1107 PRO
ECDSA Crypto
This exercise covers the exploitation of a weakness in the usage of ECDSA
< 1 Hr. hard 377 PRO
‹ 1 2 ›
Showing 1–30 of 35 exercises