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

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

漏洞简介:

Django是高水准的由Python编程语言驱动的一个开源Web应用程序框架,起源于开源社区。使用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

下载CVE-2020-7471到本地

git clone https://github.com/SNCKER/CVE-2020-7471.git

 修改配置文件

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

python3 manage.py migrate

这里No changes可以不用在意

python3 manage.py migrate vul_app

初始化环节全部完成

 

2、攻击环节

进入数据库:

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

执行poc代码生成内容:

Python3 CVE-2020-7471.py

查询:

select*fromvul_app_info;


注入成功!

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://www.freebuf.com/vuls/245359.html


上一篇:MongoDB mongo-...
下一篇:CVE-2020-1362 ...