fastjson-jsontype-rce-lab
Docker labs + defensive scanner for fastjson remote-class-load RCE. fastjson 1.2.66-1.2.83: @JSONType resource probe (CVE-2026-16723). fastjson2 2.0.57: attacker @type reaches loadClass with autoType DISABLED via polymorphic types (@JSONType(seeAlso) / Jackson @JsonSubTypes). Marker-only payloads; safeMode + JDK17 controls.
File Explorer
- AttackerServer.java
- Dockerfile
- entrypoint.sh
- Gen.java
- MECHANISM.md
- exploit.sh
- ArtifactServer.java
- Dockerfile
- entrypoint.sh
- Gen.java
- lib.sh
- run-controls.sh
- run-positive.sh
- static-safety-check.sh
- Animal.java
- Dog.java
- Fj2App.java
- JacksonCat.java
- JacksonPet.java
- JacksonRequest.java
- Launcher.java
- Request.java
- Dockerfile
- compose.yml
- README.md
- FINDINGS.md
- MarkerJarBuilder.java
- Dockerfile
- pom.xml
- lib.sh
- run-controls.sh
- run-positive.sh
- static-safety-check.sh
- BoundEnvelope.java
- ModernFdApplication.java
- ParseController.java
- Dockerfile
- pom.xml
- ATTEMPTS.md
- compose.yml
- README.md
- SOURCE_SHA256SUMS.txt
- test_fjdetect.py
- test_fjscan_probe.py
- test_fjscan_static.py
- ATTEMPTS.md
- DETECTION.md
- fjdetect.py
- fjpayload.py
- fjscan_probe.py
- fjscan_static.py
- README.md
- VulnApp.java
- Dockerfile
- .gitignore
- docker-compose.yml
- LICENSE
- Makefile
- README.md
# Use via CDN
jsDelivrjsDelivr serves any public GitHub repository as a CDN with zero setup. Pick a version and a file to get a ready-to-paste link and snippet.
Command Glossary
Commands referenced in this DOCs, explained below.
http
View Details ▼
http
HTTPie: an HTTP client designed for testing, debugging, and generally interacting with APIs and HTTP servers.
See also: `xh`.
http {{https://example.com}}
Make a simple GET request (shows response headers and content):
http {{[-p|--print]}} {{H|B|h|b|m|Hh|Hhb|...}} {{https://example.com}}
Print specific parts of the content (`H`: request headers, `B`: request body, `h`: response headers, `b`: response body, `m`: response metadata):
http {{GET|POST|HEAD|PUT|PATCH|DELETE|...}} --proxy {{http|https}}:{{http://localhost:8080|socks5://localhost:9050|...}} {{https://example.com}}
Specify the HTTP method when sending a request and use a proxy to intercept the request:
python3
View Details ▼
python3
This command is an alias of `python`.
tldr python
View documentation for the original command:
