
django ثغرة:CVE-2020-7471 حقن SQL محتمل عبر StringAgg(delimiter) بيئة الثغرة و POC
يوفر هذا المستودع البيئة ونموذج الإثبات (POC) لثغرة CVE-2020-7471: حقن SQL عبر 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 vul_app
python3 manage.py migrate vul_app
ثم قم بتشغيل نص POC CVE-2020-7471.py