【问题标题】:JSON vs. Pickle securityJSON 与 Pickle 安全性
【发布时间】:2023-04-02 04:28:02
【问题描述】:

我最近遇到了 Python pickle 和 cPickle 模块的安全问题。 显然,除非您覆盖,否则在 pickle 中没有实施真正的安全措施 find_class 方法作为基本修改以获得更多安全性。但我经常 听说 JSON 更安全。

谁能详细说明一下?`为什么 JSON 比 pickle 更安全?

非常感谢! 标记

【问题讨论】:

  • “遇到”是什么意思?你读过一些说他们不安全的东西?你实现了被黑的东西?还是什么?
  • 他可能在python文档中阅读了pickle模块文档顶部的红色大警告:docs.python.org/3/library/pickle.html

标签: python json pickle


【解决方案1】:

json 更安全,因为它从根本上受到更多限制。 json 文档可以编码的唯一 python 类型是 unicodeintfloatNoneTypeboollistdict。这些以一种不易受到代码注入攻击的基本微不足道的方式进行编组/解组。

【讨论】:

    【解决方案2】:

    Pickle 的问题是它可以调用任意 Python 代码。有关详细信息,请参阅http://nadiana.com/python-pickle-insecure。 JSON 解析器只需创建字符串、数字、列表、字典等。它从不创建用户定义的类,因此不需要执行任意 Python。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-30
      • 1970-01-01
      • 2015-04-15
      • 2013-03-18
      • 2012-12-17
      • 1970-01-01
      • 2023-03-18
      • 2011-06-14
      相关资源
      最近更新 更多