ysoserial | concept tool for generating payloads | Hacking library
kandi X-RAY | ysoserial Summary
kandi X-RAY | ysoserial Summary
Originally released as part of AppSecCali 2015 Talk "Marshalling Pickles: how deserializing objects will ruin your day" with gadget chains for Apache Commons Collections (3.x and 4.x), Spring Beans/Core (4.x), and Groovy (2.3.x). Later updated to include additional gadget chains for JRE <= 1.7u21 and several other libraries. ysoserial is a collection of utilities and property-oriented programming "gadget chains" discovered in common java libraries that can, under the right conditions, exploit Java applications performing unsafe deserialization of objects. The main driver program takes a user-specified command and wraps it in the user-specified gadget chain, then serializes these objects to stdout. When an application with the required gadgets on the classpath unsafely deserializes this data, the chain will automatically be invoked and cause the command to be executed on the application host. It should be noted that the vulnerability lies in the application performing unsafe deserialization and NOT in having gadgets on the classpath.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
- Entry point for the command
- Prints the usage
- Formats a list of strings to a list of strings
- Main entry point
- Get a RemoteObject object from a remote object
- Waits for a connection
- Create an object
- Creates a proxy for the given interface
- Execute an object
- Joins the given strings with the given prefix
- Execute a command on an object
- Create the object for the command
- Gets the object associated with the given command
- Create a queue of objects
- Gets the commands for the command
- Construct an object from a command string
- Main method
- Converts a command into an object
- Returns a priority queue
- Retrieves a queue of templates
- Get a priority queue
- Executes the interaction model
- Main entry point for the view
- Executes a command and returns the object
- Gets the idScriptable object
- Executes a command on the console
ysoserial Key Features
ysoserial Examples and Code Snippets
Community Discussions
Trending Discussions on ysoserial
QUESTION
I started studying Java deserialization gadgets. I started with the famous Apache Common Collections gadget and was looking at @matthias_kaiser
's gadget chain.
Could someone please explain the following?
Why is the
...TiedMapEntry
set via Java reflection vs just using theHashSet#add()
method? For example,
ANSWER
Answered 2021-Jun-22 at 08:33If you add a
TiedMapEntry
to aHashSet
,hashCode()
is called which triggersTiedMapEntry.getValue()
which callsget()
on theLazyMap
. This will trigger the Transformers to execute which is not something you want at that point.Side-effect of 1)
Use a debugger and set a breakpoint on method
org.apache.commons.collections.map.LazyMap.get(Object)
By reading the implementation code and debugging with a proper IDE (IDEA, Eclipse)
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install ysoserial
Download the latest jar from JitPack
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page