
CVE-2020-7471 StringAgg(delimiter)를 통한 잠재적 SQL 삽입
이 저장소는 CVE-2020-7471 StringAgg(delimiter)를 통한 잠재적 SQL 인젝션 취약점의 환경과 POC를 제공합니다.
취약한 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를 실행하면 됩니다.