Collected research
Sour Pickles: Shellcoding in Python's Serialisation Format
Python's Pickle format is a stack virtual machine whose GLOBAL and REDUCE opcodes load and call arbitrary callables, so a tampered pickle stream is remote code execution. The paper maps the PVM, gives shellcode templates that reach class-instance methods through getattr and apply, and ships anapickle plus a Python-to-pickle compiler, bind and reverse shells, and Django and AppEngine payloads.
Record
- Researcher
- Marco Slaviero
- Published by
- media.blackhat.com
- Format
- Whitepaper
- Topic
- Other
In the archive
Tags
This page is the archive's own catalogue record. The research is the work of Marco Slaviero, first published at the original source. Preserved copies are kept so the citation survives its host; this one was last captured on .