CVE-2019-19844 0. 취약한 환경 버전 Django 3.0 1. 환경 구성 python 3.8.10 Ubuntu 20.04.1 Django 3.0 postgreSQL 12.8 POC를 위한 계정 정보 추가 (SHELL) from django.contrib.auth import get_user_model User = get_user_model() User.objects.create_user('testuser', 'test@abc.com', 'test123') 2. POC test@abc.com -> Test@abc.com (대소문자 변경) 후 패스워드 리셋 이메일 인증을 진행한다 Test@abc.com 이메일로 패스워드 리셋 URL이 전송 된것을 확인 할 수 있다. 3. 상세분석 2가지 취약성으..
CVE-2021-3281 1. 환경 구성 Window python 3.6.8 버전 Django 3.1.5 설치 pip install django==3.1.5 가상환경 구성 pyenv update pyenv install -l pyenv install 3.6.8 pip install virtualenv virtualenv --python=C:/{python.exe path newenv cd newenv/Scripts > activate 2. PoC tar 파일을 언아카이빙(압축해제)할 때 from django.utils import archive 를 통해 모듈을 로드한 후 archive.extract('압축해제할 파일', '압축해제할 경로') 의 형태로 명령을 실행한다. 공격자는 '압축해제할 파일'의 te..