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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2024-40094 — 此脚本利用 graphql-java 中的 CVE-2024-40094 漏洞。 | Kitploit
工具/GitHubGitHub/kabiri-labs/cve-2024-40094
漏洞分析漏洞利用API安全测试Web安全渗透测试
GitHubkabiri-labs/cve-2024-40094

CVE-2024-40094

此脚本利用 graphql-java 中的 CVE-2024-40094 漏洞。

查看仓库
311年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2024-40094 ENF(可执行规范化字段)拒绝服务漏洞利用

此脚本利用 graphql-java 中的 CVE-2024-40094 漏洞,通过触发 可执行规范化字段(ExecutableNormalizedFields, ENF) 实现拒绝服务攻击。它构建了一个带有深度嵌套别名的精心构造的 GraphQL 内省查询,旨在压垮脆弱的服务器。

概述

该脚本使用异步请求向目标 GraphQL 服务器发送一系列结构庞大的内省查询。查询以 JSON 格式发送,其结构专门用于利用 GraphQL 服务器在处理深度嵌套内省查询时的特定漏洞。通过并行触发大量此类查询,该脚本旨在使脆弱系统陷入拒绝服务状态。

主要特性:

  • 异步执行:使用 asyncio 和 aiohttp 实现高效的非阻塞请求。
  • 并行请求:启动多个作业(协程)来模拟并发请求。
  • 可定制参数:提供多种配置选项来控制请求数量、延迟以及每个作业的最大请求数。
  • 日志记录:可选地将请求结果和错误记录到文件中以便分析。

脆弱目标

此漏洞利用针对运行易受攻击版本的 graphql-java 服务器,特别是那些未正确处理深度嵌套内省查询的服务器。

受影响系统:

  • graphql-java 服务器(存在 CVE-2024-40094 漏洞的版本)

安装

要运行该漏洞利用脚本,您需要 Python 3.7+ 以及以下依赖:

  • aiohttp:用于异步 HTTP 请求
  • urllib3:用于 SSL 处理(禁用自签名证书警告)

安装依赖:

您可以使用 pip 安装所需的依赖:

root@kitploit:~
pip install aiohttp urllib3

配置

所有关键参数均可通过命令行选项在运行时提供:

  • URL(--url):目标 GraphQL API 的 URL。
  • HEADERS(--header):根据需求自定义授权令牌和其他头部信息。请求发送 JSON 主体,因此请包含 Content-Type: application/json。此选项可重复使用。
  • JOB_COUNT(--job-count):要生成的并发作业(协程)数量。默认值为 50。
  • CONCURRENCY_LIMIT(--concurrency-limit):所有作业的最大同时请求数。必须 ≥ JOB_COUNT。默认等于作业数;请谨慎增加。
  • ALIAS_COUNT(--alias-count):查询中别名块的数量。这控制查询的深度和负载。
  • REQUEST_DELAY(--delay):请求之间的延迟(秒)。设置为 0 表示无延迟,或根据需要调整以避免过快压垮目标。
  • MAX_REQUESTS_PER_JOB(--max-requests):每个作业将发送的最大请求数。使用 0 表示无限制。
  • LOG_FILE:可选。指定一个文件路径以记录请求结果和错误。

使用方法

将仓库克隆到本地机器:

root@kitploit:~
git clone https://github.com/kabiri-labs/CVE-2024-40094.git
cd CVE-2024-40094

运行脚本,并在命令行中提供所需的选项:

root@kitploit:~
python CVE-2024-40094.py \
  --url https://api.example.com/graphql \
  --header "Authorization: Bearer <token>" \
  --header "Host: api.example.com" \
  --job-count 50 \
  --alias-count 500 \
  --concurrency-limit 50

脚本将开始向目标服务器发送请求。您将看到每个请求的状态打印到控制台,日志将写入指定的日志文件。

示例输出:

root@kitploit:~
[Worker-0] Status: 200, Len: 1000, Time: 0.35s, Snippet: {"data":{"__schema":{"types":[...]}...
[Worker-1] Status: 200, Len: 1050, Time: 0.37s, Snippet: {"data":{"__schema":{"types":[...]}...

警告

请勿在未经授权的目标上使用:此脚本仅供在受控环境中进行安全研究和测试。未经明确授权,请勿在生产服务器或系统上使用。

拒绝服务风险:在脆弱服务器上运行此脚本可能导致其失去响应或崩溃。请谨慎使用。

许可证

此脚本基于 MIT 许可证发布。有关详细信息,请参阅 LICENSE 文件。

下载工具