🐈‍⬛ Pain Pickle: Systemically bypassing restricted unpickle 🐈

中文VirtualLive Q&AVulnerability AnalysisBinary Analysis🐱

Pickle is a built-in Python module for serializing and de-serializing a Python object structure. As all of you know, it is very dangerous to unpickling any object, once you encounter a random unpickling, it means you almost get a RCE. Marco Slaviero had already published a series of methods in “Sour Pickles” from BlackHat 2011. There are consequential methods to relief, the “Restricting Globals” section of Python official documents has mentioned a standard implementation. We sometimes can also see these kinds of defenses in CTFs, but some might say “CTF isn’t real, it’s just a game!” So, how about the real world? How is everyone implementing their defense? We tried to analyze thousands of Python projects on GitHub, and found some failed implementations that had security risks.
In this session we will share some interesting cases we found, and summarize a series of bypassing methods, finally implement a tool for finding gadgets and generating corresponding exploits automatically 🐱

splitline

splitline

@splitline - Web Security 🐈‍⬛ - CTF with ⚔️TSJ⚔️ & 10sec - NYCU SQLab member

English interpretations will be provided for all sessions not presented in English.

Agenda Table

Use event local timezone
TimeZone

00:30

  • Attendant Registration Time

01:20

  • Welcome Speech & Event Introduce

02:10

03:00

  • Break

03:15

04:05

  • Lunch

05:00

05:45

  • Break

06:00

06:45

  • Tea Time

07:00

07:25

08:10

  • Break

08:25

09:10

  • Closing

09:25