8

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

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

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

4

1 回答 1

1

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

如果您从这些格式的应用程序中加载任何内容,请务必使用defusedxmlYAMLssafe_load方法。标准库json模块应该免受这些攻击。

于 2013-03-21T20:58:33.707 回答