近日,HSCERT监测发现Django 官方发布了更新公告,其中修复了一个存在于框架中的 SQL 注入漏洞(CVE-2019-14234)。
Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件,并于2005年7月在BSD许可证下发布。
Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以“插件”形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速开发和DRY(Do Not Repeat Yourself)原则。
攻击者可以通过精心构造的请求包攻击使用了脆弱版本Django框架的服务器,攻击成功将会导致SQL注入漏洞,泄露网站数据信息。
当使用用户可控的数据作为参数,以**kwargs 的形式传入QuerySet.filter() 函数,对django.contrib.postgres.fields.JSONField进行索引查找,或对 django.contrib.postgres.fields.HStoreField 进行键查找时,将会导致 SQL 注入漏洞。
高危
Django 2.2.x < 2.2.4
Django 2.1.x < 2.1.11
Django 1.11.x < 1.11.23
1.升级Django版本到2.2.4,2.1.11,1.11.23
2.WAF中添加拦截SQL攻击的规则
https://www.djangoproject.com/weblog/2019/aug/01/security-releases/
如需帮助请咨询 [email protected]