
CVE-2020-7471 Потенциальная SQL-инъекция через StringAgg(delimiter)
Этот репозиторий предоставляет среду и PoC для уязвимости CVE-2020-7471 (Potential SQL injection via StringAgg(delimiter))
Установите уязвимую версию Django, я тестировал на
pip install django==3.0.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
Следуя инструкциям https://www.runoob.com/postgresql/windows-install-postgresql.html, установите базу данных PostgreSQL
Создайте новую базу данных
CREATE DATABASE test;
Измените конфигурацию базы данных в файле sqlvul_projects/settings.py. Если на предыдущем шаге вы использовали настройки по умолчанию (включая установку пароля postgres), менять ничего не нужно – можете пропустить этот шаг.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'test', # Имя базы данных
'USER': 'postgres',
'PASSWORD': 'postgres', # Пароль пользователя базы данных
'HOST': '127.0.0.1', # Адрес базы данных
'PORT': '5432',
}
}
Инициализируйте таблицы данных через Django
python3 manage.py migrate
python3 manage.py makemigrations test_app
python3 manage.py migrate test_app
Затем запустите PoC-скрипт poc.py.