ivory (@ivory522)Pickle反序列化攻击手法详解(Python) 中发帖

Pickle
pickle反序列化比java和php的危害要大不少 
因为利用起来比较容易,很轻松可以RCE 
实际应用场景中经常和其它基础漏洞配合起来使用 
例如ssrf写redis序列化数据后被反序列化出恶意对象等 
在很多比赛或漏挖中出现的llm应用也经常和pickle相关 
能够序列化的对象

None
bool
int,float,complex
元素全部为可打包对象的tuple、list、set 和 dict
函数

使用def定义的模块顶层的函数(lambda不行)
内置函数


类

使用class定义在模块顶层的


实例对象

__dict__属性和__getstate__()函数的返回值为可序列化对象



PS:对于不能序列化的数据会抛出PicklingError异常 
opcode和Bytecode
pickle的序列化数据是一段字节流 
字节流由一系列pickl...
 
 
Back to Top