
vulnerabilidade django: CVE-2020-7471 Potencial injeção SQL via StringAgg(delimiter) do ambiente de vulnerabilidade e POC
Este repositório fornece o ambiente e POC para a vulnerabilidade CVE-2020-7471 Potential SQL injection via StringAgg(delimiter)
Instale a versão vulnerável do Django. Eu usei para teste:
pip install django==3.0.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
Consulte https://www.runoob.com/postgresql/windows-install-postgresql.html para concluir a instalação do banco de dados PostgreSQL
Crie um novo banco de dados
CREATE DATABASE test;
Modifique a configuração do banco de dados no arquivo sqlvul_projects/settings.py. Se na etapa anterior você usou a configuração padrão (incluindo definir a senha como postgres), não precisa modificar nada e pode pular esta etapa.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'test', # 数据库名称
'USER': 'postgres',
'PASSWORD': 'postgres', # 数据库用户密码
'HOST': '127.0.0.1', # 数据库地址
'PORT': '5432',
}
}
Inicialize as tabelas de dados através do Django
python3 manage.py migrate
python3 manage.py makemigrations vul_app
python3 manage.py migrate vul_app
Em seguida, execute o script POC CVE-2020-7471.py e pronto.