✕
🐈⬛ Pain Pickle:系統化地繞過 Restricted Unpickler 🐈
中文預錄演講即時問答漏洞分析程式分析🐱
Pickle 是 Python 中內建用來序列化與反序列化資料的函式庫。眾所皆知的,隨便反序列化 pickle 相當地危險,一旦順利遇到了一個任意 Pickle 反序列化,就等於撿到了一個 RCE。Marco Slaviero 早已在 BlackHat 2011 的發表《Sour Pickles》中提出一系列利用手法,相應而生的,其也存在對應的緩解手段 —— Python 官方文件的 Restricting Globals 段落即有提出一種標準的實作方式。
對於這種防禦我們偶爾也可在 CTF 中見到這類型的題目,但「CTF 一點都不現實,就只是遊戲!」這種論調屢見不鮮,所以,那現實世界呢?大家實作的防護又做得如何呢?我們嘗試分析了數千個 GitHub 上的各種 Python 專案,從而找到了數個有潛在風險的實作失敗案例。
在此議程中我們會分享找到的有趣案例,並統整出了一系列系統性的繞過手段,最後實作了一套找尋 gadget 以及自動化生成對應 exploit 的工具 🐱

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