python - 拆酸危害

标签 python pickle

在 python3 pickle 模块的文档中它说:

" pickle 模块无意防止错误或恶意构造的数据。切勿对从不受信任或未经身份验证的来源收到的数据进行解封。”

从不受信任的来源中提取数据有什么风险? unpickling 不受信任的数据本身是危险的吗?还是只使用未 pickle 的对象是危险的?那么取消不受信任的数据然后(在对生成的对象执行任何操作之前)证明它是否是一个保存对象是否安全?

最佳答案

Pickle 通过查找可调用对象(通常是类,但实际上是任何可调用对象)并使用固定参数调用它们来重新创建对象。这意味着 unpickling 可以使用任何参数运行任何可调用任何地方。即使尚未导入相关模块,pickle 也会很乐意导入它。 execute os.system 只需要几十个字符, 例如。因此,您甚至在取回对象之前就完蛋了

关于python - 拆酸危害,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15718667/

相关文章:

python - wxPython "Library not loaded"

Python 3.5 类型错误 : got multiple values for argument

python - 如何将列表添加到列表列表中

python - 如何让 ipdb 在调试时显示更多的上下文行?

python - 保存到外部 PY 文件?

python - 如何计算每个帧中的边界框?

python - 在 Python 中使用换行符序列化 JSON 文件

Python pickle 调用 cPickle?

python - 如何打开 Python pickle 文件、追加、保存和关闭它?

python - pickle Spark RDD 并将其读入 Python