【问题标题】:Ensuring safe JSON, XML and YAML loading in Django project确保在 Django 项目中安全地加载 JSON、XML 和 YAML
【发布时间】:2013-03-20 16:27:57
【问题描述】:

我正在维护一个生产 Django 1.5 应用程序。

最近有很多关于加载 JSON、XML 和 YAML 对象的各种漏洞的噪音。如果我理解正确,输入是精心设计的,以利用加载功能中的错误。

现在,我不知道 Django(或我们使用的几十个第三方应用程序)在哪里使用这些协议。我怎样才能免受此类漏洞的影响?我是否需要以某种方式确保 Django 安全地加载 JSON、XML 和 YAML?

【问题讨论】:

  • 确保 Django 安全地加载 JSON、XML 和 YAML 是 Django 开发人员的工作。我可以向您保证,您的代码中可能存在比 Django 更多的安全问题(尽管这些显然具有更大的影响并且更有可能被发现)。
  • 你指的是什么噪音?有具体的链接吗?

标签: python django security


【解决方案1】:

默认情况下,Django 不接受这些格式的用户编码输入,通常第三方应用程序也不接受,但值得对面向用户的部分进行审核以确保。大的将是 API 提供者(Tastypie、Django REST Framework 等)。如果您使用的是当前版本,则应该是安全的,但值得测试/确认。

如果您要从这些格式的应用中加载任何内容,请务必使用 defusedxml 和 YAMLs safe_load 方法。标准库json 模块应该不会受到此类攻击。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-25
    • 1970-01-01
    • 1970-01-01
    • 2012-02-19
    • 2010-11-29
    • 2017-08-01
    • 1970-01-01
    相关资源
    最近更新 更多