Django 的 JSON 反序列化器是否存在任何已知的安全漏洞?关于 Python 反序列化协议(protocol),普遍的共识似乎是它们完全不安全,因此请避免解析不受信任的数据。
但是,我正在考虑分布式 Web 应用程序,其中不同的服务器交换模型记录,格式为 JSON。记录本身不包含敏感数据,但我担心被黑客攻击的服务器通过发送恶意格式的 JSON 破坏另一台服务器的能力。这可能吗?
我经常在面向公众的环境中看到 Django 的 JSON 序列化器,所以我希望它能针对这种事情进行强化,但我还没有找到任何解决任何安全问题的文档。
最佳答案
默认情况下使用 simplejson ,这是 Django 使用的默认反序列化器,可以从 JSON 转换为 Python 对象的对象类型是有限的。唯一不是这种情况的方法是,如果您正在使用 loads()
的可选参数进行某种专门的解码。或 load()
方法或您自己的 JSONDecoder
对象。
因此,只要您使用默认解码,就非常安全。但是,如果您真的很担心,您应该在实际使用它之前验证加载的 JSON 数据。
关于python - Django JSON反序列化安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9603841/