配置错误的Django应用程序可暴露秘密API密钥和数据库密码

Posted 嘶吼专业版

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了配置错误的Django应用程序可暴露秘密API密钥和数据库密码相关的知识,希望对你有一定的参考价值。

配置错误的Django应用程序可暴露秘密API密钥和数据库密码

近日,安全研究人员发现,Django应用程序由于配置错误问题正在暴露诸如API密钥、服务器密码以及AWS访问令牌之类的敏感信息。

巴西安全研究人员Fábio Castro在本周早些时候接受访问时表示,造成此次安全问题的原因在于Django应用程序的开发人员忘记了禁用该应用程序的调试模式。

据悉,Django是一个非常强大且可以自定义的Python框架,通常用于创建基于Python的Web应用程序、Intranet以及应用程序后端等,其目的是使创建数据库驱动的Web站点和Web应用程序更加容易。

配置错误的Django应用程序可暴露秘密API密钥和数据库密码在Shodan上发现28,165个配置错误的Django应用程序

Castro表示,他发现本周共有28,165个配置错误的Django应用程序,其开发人员均忘记了禁用其调试模式。

配置错误的Django应用程序可暴露秘密API密钥和数据库密码

研究人员仅仅通过浏览部分服务器就发现,其中很多应用程序的调试模式暴露了极其敏感的信息,这些信息可能会允许恶意行为者获得该应用程序所有者的数据的完全访问权。而且,Django应用程序越复杂,查找到更敏感信息的机会就越高。

在某些情况下,暴露的数据库密码和AWS访问令牌不仅仅能够允许攻击者访问应用程序数据,还允许其访问应用程序所有者IT基础设施其他部分的信息。

配置错误的Django应用程序可暴露秘密API密钥和数据库密码并非Django本身的错误

Castro在一次私人访问中透露称,

配置错误的Django应用程序可暴露秘密API密钥和数据库密码

我之所以能够发现这一安全问题,是因为我正在一个小项目中使用Django框架。使用过程中我注意到该框架存在一些错误异常,然后我就在Shodan(基于物联网的搜索引擎)上进行了搜索分析。

配置错误的Django应用程序可暴露秘密API密钥和数据库密码

Castro继续说道,

配置错误的Django应用程序可暴露秘密API密钥和数据库密码

分析结果显示,造成所有数据泄漏的主要原因就是启用了调试模式。这并非Django本身存在错误。我的建议是,在将该应用程序部署到生产时先禁用调试模式。

配置错误的Django应用程序可暴露秘密API密钥和数据库密码

Castro说的确实是正确的。网络开发走过了漫漫25年的时间,你可能认为开发人员现在已经了解到,无论其开发堆栈如何,都永远不要为其站点和web应用程序启用调试模式。然而,事实带来的教训总是发人深省的

以上是关于配置错误的Django应用程序可暴露秘密API密钥和数据库密码的主要内容,如果未能解决你的问题,请参考以下文章

API 密钥和秘密密钥如何工作?如果我必须将我的 API 和密钥传递给另一个应用程序,它会安全吗?

在数据库中存储 API 密钥和秘密

如何将秘密 API 密钥存储在应用程序的二进制文件中?

Django秘密密钥生成

服务如何生成和使用公共和秘密 API 密钥?

使用 WSO2 作为移动应用程序的 API 网关时,如何安全地处理用户密钥和秘密