如何进行Django SQL注入漏洞CVE-2020-7471的复现

2024-03-14,,

如何进行Django SQL注入漏洞CVE-2020-7471的复现,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

漏洞简介:

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

下载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

看完上述内容,你们掌握如何进行Django SQL注入漏洞CVE-2020-7471的复现的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注本站行业资讯频道,感谢各位的阅读!

《如何进行Django SQL注入漏洞CVE-2020-7471的复现.doc》

下载本文的Word格式文档,以方便收藏与打印。