
Django-Schwachstelle: CVE-2020-7471 – Mögliche SQL-Injection über StringAgg(delimiter) – Schwachstellenumgebung und POC
Dieses Repository stellt die Umgebung und den POC für die Sicherheitslücke CVE-2020-7471 (Potenzielle SQL-Injection via StringAgg(delimiter)) bereit.
Installieren Sie eine anfällige Django-Version, ich habe folgende verwendet:
pip install django==3.0.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
Beziehen Sie sich auf https://www.runoob.com/postgresql/windows-install-postgresql.html, um die Installation der PostgreSQL-Datenbank abzuschließen.
Neue Datenbank erstellen
CREATE DATABASE test;
Ändern Sie die Datenbankkonfiguration in sqlvul_projects/settings.py. Falls Sie bei der vorherigen Installation die Standardkonfiguration (einschließlich des Passworts 'postgres') verwendet haben, müssen Sie keine Konfiguration ändern und können diesen Schritt überspringen.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'test', # Datenbankname
'USER': 'postgres',
'PASSWORD': 'postgres', # Datenbank-Benutzerpasswort
'HOST': '127.0.0.1', # Datenbankadresse
'PORT': '5432',
}
}
Initialisieren Sie die Datenbanktabellen mit Django
python3 manage.py migrate
python3 manage.py makemigrations vul_app
python3 manage.py migrate vul_app
Führen Sie dann das POC-Skript CVE-2020-7471.py aus.