hunt-deserialization

Detect and exploit insecure deserialization vulnerabilities across Java, PHP, Python, .NET, and Ruby targets.

Updated Sep 6, 2026
One-click install
npx skills add https://github.com/inventashif/helpful-code-sidekick --skill hunt-deserialization-inventashif
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: hunt-deserialization
Source: https://github.com/inventashif/helpful-code-sidekick/tree/main/scripts/hackerai/skills/bughunter/hunt-deserialization
Command: npx skills add https://github.com/inventashif/helpful-code-sidekick --skill hunt-deserialization-inventashif

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Bug bounty hunters and penetration testers often miss insecure deserialization flaws because they require recognizing language-specific serialization formats and crafting gadget chains. This Skill provides a systematic methodology to identify serialized objects in requests and escalate them to remote code execution. ## Core Features & Use Cases - Multi-Language Coverage: Detection signatures and exploitation steps for Java (ysoserial), PHP (phpggc, phar://), Python (pickle, yaml.load), .NET (ViewState, BinaryFormatter), Ruby (Marshal.load), Node (node-serialize), and JNDI/Log4Shell injection. - Out-of-Band Confirmation: Uses DNS/HTTP callbacks via interactsh or collaborator hosts to prove blind deserialization RCE without direct output. - Use Case: While testing a Java application, you notice a cookie starting with rO0A. Use this Skill to confirm it is a base64 Java serialized object, generate a CommonsCollections gadget chain with ysoserial, and prove RCE via an out-of-band callback for a Critical-severity report. ## Quick Start Ask the AI to check the target application for insecure deserialization vulnerabilities and generate proof-of-concept payloads for any serialized objects found.

Frequently Asked Questions about hunt-deserialization

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I detect Java deserialization vulnerabilities in a web application?

Look for base64 strings starting with rO0A or hex bytes AC ED 00 05 in cookies and request bodies, which indicate Java serialized objects. Also check for Content-Type: application/x-java-serialized-object and endpoints like /wls-wsat/ or /invoker/.

How to exploit PHP object injection with phpggc?

First confirm unserialize() processes user input by injecting a test object and observing error changes. Then generate a gadget chain with phpggc, for example phpggc Laravel/RCE5 system id, and deliver it via the vulnerable parameter or cookie.

What is the ysoserial tool used for?

ysoserial generates Java deserialization gadget chains such as CommonsCollections that execute arbitrary commands when deserialized. You pipe its output, often base64-encoded, into the vulnerable parameter and confirm execution via an out-of-band callback.

Can deserialization bugs be exploited without visible output?

Yes, blind deserialization is confirmed with out-of-band techniques. Payloads trigger DNS or HTTP requests to a collaborator host like interactsh, proving code execution even when the server returns no command output.

Does Python pickle deserialization always lead to RCE?

If an application calls pickle.loads on attacker-controlled data, defining a class with a __reduce__ method returning os.system achieves arbitrary command execution. The risk applies whenever untrusted input reaches pickle, not to safe serialization formats.

Why is insecure deserialization rated Critical severity?

Deserialization flaws typically yield remote code execution with the server process's privileges and no prerequisite conditions. A single crafted object can execute OS commands, making impact equivalent to full application compromise.