pwntester/ysoserial.net

Deserialization payload generator for a variety of .NET formatters

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 1 hour ago
Added to GitGenius on September 18th, 2026
Created on September 18th, 2017
Open Issues & Pull Requests: 11 (+0)
GitHub issues: Enabled
Number of forks: 527
Total Stargazers: 3,790 (+0)
Total Subscribers: 74 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 32.3 days
Mean response time: 106.6 days
90th percentile: 454.1 days
Tracked items: 9

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 3
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 950 days
Stale 30+ days: 3
Stale 90+ days: 3

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (1)
  • question (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

ysoserial.net is a deserialization payload generator for .NET formatters.

The tool addresses unsafe deserialization vulnerabilities in .NET applications by generating serialized payloads that exploit gadget chains found in common .NET libraries. It works by taking a user-specified command and wrapping it in a chosen gadget chain, then serializing the resulting object. When a vulnerable application deserializes this payload and the required gadgets are present on its classpath, the gadget chain executes automatically, running the attacker's command. The project emphasizes that the vulnerability itself lies in unsafe deserialization practices within applications, not in the presence of gadgets in libraries.

The tool supports multiple .NET serialization formatters including BinaryFormatter, Json.Net, XmlSerializer, and DataContractSerializer, with different gadget chains available for each. It includes a plugin architecture for generating more complex payloads tailored to specific applications like DotNetNuke. Developers working on security research, penetration testing, or defensive measures for .NET applications would find this useful for understanding and testing deserialization vulnerabilities. The project is inspired by the original ysoserial tool for Java.

Development activity shows consistent maintenance with builds tracked across multiple branches, including a dedicated v2 branch with its own build pipeline. The project provides prebuilt binaries through both the releases page and GitHub Actions, making deployment straightforward without requiring compilation from source.