
Vulnérabilité Django : CVE-2020-7471 - Potentielle injection SQL via StringAgg(delimiter) - Environnement de vulnérabilité et POC
Ce dépôt fournit l'environnement et le POC pour la vulnérabilité CVE-2020-7471 Potential SQL injection via StringAgg(delimiter).
Installez la version vulnérable de Django, celle que j'ai utilisée pour les tests :
pip install django==3.0.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
Référez-vous à https://www.runoob.com/postgresql/windows-install-postgresql.html pour terminer l'installation de la base de données PostgreSQL.
Créez une nouvelle base de données :
CREATE DATABASE test;
Modifiez la configuration de la base de données dans sqlvul_projects/settings.py. Si vous avez utilisé la configuration par défaut lors de l'étape précédente (y compris le mot de passe défini sur 'postgres'), aucune modification n'est nécessaire, vous pouvez sauter cette étape.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'test', # 数据库名称
'USER': 'postgres',
'PASSWORD': 'postgres', # 数据库用户密码
'HOST': '127.0.0.1', # 数据库地址
'PORT': '5432',
}
}
Initialisez les tables de données via Django :
python3 manage.py migrate
python3 manage.py makemigrations vul_app
python3 manage.py migrate vul_app
Ensuite, exécutez le script POC CVE-2020-7471.py.