Java Deserialization
Lecture
Java Serialization Format
ysoserial
Reference
Last updated
Last updated
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.Serializable;
import java.io.IOException;
class User implements Serializable{
public String username;
}
public class SerializeTest{
public static void main(String args[]) throws Exception{
// javac SerializeTest.java && java SerializeTest
User newUser = new User();
newUser.username = "ret2basic";
FileOutputStream fos = new FileOutputStream("object.ser");
ObjectOutputStream os = new ObjectOutputStream(fos);
os.writeObject(newUser);
os.close();
FileInputStream is = new FileInputStream("object.ser");
ObjectInputStream ois = new ObjectInputStream(is);
User storedUser = (User)ois.readObject();
System.out.println(storedUser.username);
ois.close();
}
}java -jar path/to/ysoserial.jar CommonsCollections4 '<command>'