Pentesting Tools

Java Deserialization Cheat Sheet – Detecting And Exploiting Vulnerabilities

A cheat sheet for pentesters and researchers about deserialization vulnerabilities in various Java (JVM) serialization libraries.

Please, use #javadeser hash tag for tweets.

Table Of Content

  • Java Native Serialization (binary)
    • Overview
    • Main talks & presentations & docs
    • Payload generators
    • Exploits
    • Detect
    • Vulnerable apps (without public sploits/need more info)
    • Protection
    • For Android
  • XMLEncoder (XML)
  • XStream (XML/JSON/various)
  • Kryo (binary)
  • Hessian/Burlap (binary/XML)
  • Castor (XML)
  • json-io (JSON)
  • Jackson (JSON)
  • Fastjson (JSON)
  • Genson (JSON)
  • Flexjson (JSON)
  • Jodd (JSON)
  • Red5 IO AMF (AMF)
  • Apache Flex BlazeDS (AMF)
  • Flamingo AMF (AMF)
  • GraniteDS (AMF)
  • WebORB for Java (AMF)
  • SnakeYAML (YAML)
  • jYAML (YAML)
  • YamlBeans (YAML)
  • “Safe” deserialization

Java Native Serialization (Binary)

Overview

  • Java Deserialization Security FAQ
  • From Foxgloves Security

Main talks & presentations & docs

Marshalling Pickles

by @frohoff & @gebl

  • Video
  • Slides
  • Other stuff
Exploiting Deserialization Vulnerabilities in Java

by @matthias_kaiser

  • Video
Serial Killer: Silently Pwning Your Java Endpoints

by @pwntester & @cschneider4711

  • Slides
  • White Paper
  • Bypass Gadget Collection

For more information click here.

Varshini

Varshini is a Cyber Security expert in Threat Analysis, Vulnerability Assessment, and Research. Passionate about staying ahead of emerging Threats and Technologies.

Recent Posts

git fetch vs git pull: How They Work and When to Use Each

Both git fetch and git pull talk to a remote repository, but they do very different things to your…

3 days ago

git cherry-pick Command: Apply Commits from Another Branch

Sometimes the change you need already exists, just on the wrong branch. A hotfix lands…

3 days ago

Best Email APIs for Secure Business Email: Why Developers Are Moving Beyond SMTP

Email is still one of the most important communication channels inside modern applications. Password resets,…

4 days ago

Nginx Commands in Linux: Start, Stop, Reload, Test, and Log

Nginx is a high-performance web server and reverse proxy trusted by some of the largest…

7 days ago

ufw Command in Linux: Manage Firewall Rules with Examples

ufw (Uncomplicated Firewall) sits on top of iptables (or nftables on newer systems) and replaces…

7 days ago

who Command in Linux: Show All Logged-In Users and Sessions

When you share a server with a team or investigate unexpected activity, the first question…

7 days ago