1. 首页
  2. 代码审计

Django SQL注入漏洞复现(CVE-2020-7471)

【推荐学习】暗月渗透测试培训 十多年渗透经验,体系化培训渗透测试 、高效学习渗透测试,欢迎添加微信好友aptimeok 咨询。

漏洞简介:

Django是高水准的由Python编程语言驱动的一个开源Web应用程序框架,起源于开源社区。使用Django,程序员可以方便、快捷地创建高品质、易维护、数据库驱动的应用程序,应用广泛。2月11日,绿盟科技监测发现此漏洞PoC已公开,请相关用户尽快升级Django至修复版本,修复此漏洞。

威胁类型

SQL注入

威胁等级

漏洞编号

CVE-2020-7471

受影响系统及应用版本

受影响版本:

Django 1.11.x

Django 2.2.x

Django 3.0.x

Django 主开发分支

不受影响产品版本

Django 1.11.28

Django 2.2.10

Django 3.0.3

漏洞复现:

搭建环境

(kali)安装 django 漏洞版本(测试使用版本为3.0.2)

使用pip命令安装

pip3 install django==3.0.2

安装postgres 数据库

Sudo spt-get install postgresql postgresql-client

初次安装postgres 数据库,系统会创建一个数据库超级用户 postgres,密码为空。使用命令(sudo -i -u postgres)进入postgres数据库,并创建测试数据库(test)。

sudo /etc/init.d/postgresql start

sudo -i -u postgres

psql
Django SQL注入漏洞复现(CVE-2020-7471)
Django SQL注入漏洞复现(CVE-2020-7471)

下载CVE-2020-7471到本地

git clone https://github.com/SNCKER/CVE-2020-7471.git
Django SQL注入漏洞复现(CVE-2020-7471)

()

Django SQL注入漏洞复现(CVE-2020-7471)

修改配置文件

利用CVE中的代码初始化测试数据库test中的表

python3 manage.py migrate
Django SQL注入漏洞复现(CVE-2020-7471)

这里No changes可以不用在意

python3 manage.py migrate vul_app
Django SQL注入漏洞复现(CVE-2020-7471)

初始化环节全部完成

2、攻击环节

Django SQL注入漏洞复现(CVE-2020-7471)

进入数据库:

Django SQL注入漏洞复现(CVE-2020-7471)

\d 看一下数据库中所有的表

执行poc代码生成内容:

Python3 CVE-2020-7471.py
Django SQL注入漏洞复现(CVE-2020-7471)

查询:

select*fromvul_app_info;
Django SQL注入漏洞复现(CVE-2020-7471)

注入成功!

2、修复建议

Django 官方已经发布新版本修复了上述漏洞,请受影响的用户尽快升级进行防护。

Django 1.11.28下载地址:

https://www.djangoproject.com/m/releases/1.11/Django-1.11.28.tar.gz

Django 2.2.10 下载地址

https://www.djangoproject.com/m/releases/2.2/Django-2.2.10.tar.gz

Django 3.0.3下载地址:

https://www.djangoproject.com/m/releases/3.0/Django-3.0.3.tar.gz

参考链接:https://github.com/SNCKER/CVE-2020-7471

https://blog.csdn.net/qq_41260930/article/details/104303146

本文来自本文作者:whhbtl, 转载自FreeBuf.COM,经授权后发布,本文观点不代表立场,转载请联系原作者。

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息