fastjson VS ysoserial

Compare fastjson vs ysoserial and see what are their differences.

ysoserial

A proof-of-concept tool for generating payloads that exploit unsafe Java object deserialization. (by frohoff)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
fastjson ysoserial
3 13
25,633 7,291
0.2% -
1.5 0.0
30 days ago 25 days ago
Java Java
Apache License 2.0 MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

fastjson

Posts with mentions or reviews of fastjson. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-01.

ysoserial

Posts with mentions or reviews of ysoserial. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-12-23.
  • anybody got ysoserial to work in kali 2022 running java v17?
    1 project | /r/oscp | 24 Jun 2023
  • Java deserialization payloads in log4j (Unified starting point)
    3 projects | /r/hackthebox | 23 Dec 2022
    So I've finished the unified box in stage 2 of the starting point and have tons of questions about the box. In the box they use veracode-research/rogue-jndi to exploit the log4j vulnerability. But when I test it with deserialize payload generated by frohoff/ysoserial it's not running. I've try to look at the java log in the challenge container but can't find anything that java complain or error out. Is it because the ysoserial payload too complex that it running but fail at some point and don't throw error or maybe the author just hard code so that only the payload from rogue-jndi work? can it's because of the java version/framework/library/weirdness? Do I need to test both kind of payload if I want to exploit log4j in the future or just stick with pimps/JNDI-Expoit-Kit or cckuailong/JNDI-Injection_Exploit-Plus (my senior recommendation when exploiting log4j).
  • An Unsafe Deserialization Vulnerability and Types of Deserialization
    2 projects | dev.to | 10 Dec 2022
    GitHub - Ysoserial
  • Great Time at JavaZone 2022
    3 projects | dev.to | 14 Sep 2022
    A gadget lets you run load a different class upon serialization. This will fail later when we downcast but during the read process we can load a different class where we can do arbitrary code execution. HashMap is a class that overrides the readObject and can be used as part of an exploit chain. ysoserial helps us create a chain of serialization to produce an exploit based on known serialization weaknesses. You can run this project and generate payload ser files that you can pass to exploit potential vulnerabilities.
  • PoC tool for creating payloads that exploit unsafe Java object deserialization
    1 project | news.ycombinator.com | 28 Aug 2022
  • Is Java as safe as we believe?
    1 project | dev.to | 20 Apr 2022
    gadget chain attack: is a type of exploit where an attacker uses a series of "gadgets" — small pieces of code that perform a specific function — to execute a larger, more complex attack. By chaining together these gadgets, an attacker can gain control of a target system or perform other malicious actions. You can use ysoserial to create a serialize payload java -jar path/to/ysoserial.jar CommonsCollections4 'whoami'
  • Is Haskell a Good Choice for Software Security?
    2 projects | news.ycombinator.com | 17 Dec 2021
    > A similar issue has occurred with Java (and other languages, see https://frohoff.github.io/appseccali-marshalling-pickles/). Java provided a suberbly user-friendly way of serializing any object to disk and recovering it back in its original form. The only unfortunate problem was that there was no way to say which object you are expecting! This allows attackers to send you objects that, upon deserialization in your program, become nasties that wreak havoc and steal data.

    Not correct. You can certainly inspect before instantiation:

    https://docs.oracle.com/javase/7/docs/platform/serialization...

  • Log4j 2.15.0 – Previously suggested mitigations may not be enough
    7 projects | news.ycombinator.com | 16 Dec 2021
    Mmh, I don't think so. Beside logging most other libraries will already sanitize user input since it is a more commonly known attack vector for those kind of libraries. I would compare the vulnerability to https://github.com/frohoff/ysoserial.
  • Analysis of the 2nd Log4j CVE published earlier (CVE-2021-45046 / Log4Shell2)
    11 projects | news.ycombinator.com | 14 Dec 2021
    Exactly. eg. https://github.com/frohoff/ysoserial#usage

    Note the classes aren't at fault or doing anything wrong (even though you could imagine other mitigations they could use), they are just conveniently there to use if you have a vulnerability that lets you de-serialize untrusted data.

  • RCE 0-day exploit found in log4j, a popular Java logging package
    9 projects | /r/programming | 9 Dec 2021
    This has been known for a zillion years and has caused a zillion CBEs, so at this point there are off-the-shelf tools like ysoserial that take your payload and wrap it into an object that kabooms when deserialized, with like 20 different choices of methods depending on what dangerous objects are available on the target's classpath for deserialization.

What are some alternatives?

When comparing fastjson and ysoserial you can also consider the following projects:

JsonPath - Java JsonPath implementation

jsoniter - jsoniter (json-iterator) is fast and flexible JSON parser available in Java and Go

Jolt - JSON to JSON transformation library written in Java.

log4shell-ldap - A tool for checking log4shell vulnerability mitigations

JSLT - JSON query and transformation language

log4shell-tools - Tool that runs a test to check whether one of your applications is affected by the recent vulnerabilities in log4j: CVE-2021-44228 and CVE-2021-45046

Moshi - A modern JSON library for Kotlin and Java.

Apache Log4j 2 - Apache Log4j 2 is a versatile, feature-rich, efficient logging API and backend for Java.

JsonSurfer - A streaming JsonPath processor in Java

PHP Serializer - A Java library for serializing objects as PHP serialization format.

MapNeat - MapNeat is a JVM library written in Kotlin that provides an easy to use DSL (Domain Specific Language) for transforming JSON to JSON, XML to JSON, POJO to JSON in a declarative way.

Arthas - Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas