
CVE-2020-7471 Potencial SQL injection mediante StringAgg(delimiter)
Este repositorio proporciona el entorno y POC para la vulnerabilidad CVE-2020-7471 Potential SQL injection via StringAgg(delimiter)
Instalar una versión vulnerable de django, la que usé para probar es:
pip install django==3.0.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
Consultar https://www.runoob.com/postgresql/windows-install-postgresql.html para completar la instalación de la base de datos postgres
Crear una nueva base de datos
CREATE DATABASE test;
Modificar la configuración de la base de datos en sqlvul_projects/settings.py. Si en el paso anterior usaste la configuración predeterminada (incluyendo establecer la contraseña como postgres), no es necesario modificar ninguna configuración, puedes saltarte este paso.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'test', # 数据库名称
'USER': 'postgres',
'PASSWORD': 'postgres', # 数据库用户密码
'HOST': '127.0.0.1', # 数据库地址
'PORT': '5432',
}
}
Inicializar las tablas de datos mediante django
python3 manage.py migrate
python3 manage.py makemigrations test_app
python3 manage.py migrate test_app
Luego ejecuta el script POC poc.py y ya está.
Referencia: https://github.com/Saferman/CVE-2020-7471