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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2024-40094 — 이 스크립트는 graphql-java의 CVE-2024-40094 취약점을 악용합니다. | Kitploit
도구/GitHubGitHub/kabiri-labs/cve-2024-40094
Vulnerability AnalysisExploitationAPI Security TestingWeb SecurityPenetration Testing
GitHubkabiri-labs/cve-2024-40094

CVE-2024-40094

이 스크립트는 graphql-java의 CVE-2024-40094 취약점을 악용합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2024-40094 ENF (ExecutableNormalizedFields) 서비스 거부 익스플로잇

이 스크립트는 graphql-java의 CVE-2024-40094 취약점을 익스플로잇하여 ExecutableNormalizedFields (ENF) 기반 서비스 거부를 유발합니다. 깊게 중첩된 별칭(aliases)을 포함한 조작된 GraphQL 인트로스펙션 쿼리를 생성하여 취약한 서버를 압도하도록 설계되었습니다.

개요

이 스크립트는 비동기 요청을 사용하여 대상 GraphQL 서버에 일련의 대규모 인트로스펙션 쿼리를 전송합니다. 쿼리는 JSON 페이로드로 전송되며, GraphQL 서버가 깊게 중첩된 인트로스펙션 쿼리를 처리하는 방식의 특정 취약점을 악용하도록 구성됩니다. 이러한 쿼리를 대량으로 병렬 실행하여 취약한 시스템에서 서비스 거부 상태를 유발하는 것이 목표입니다.

주요 기능:

  • 비동기 실행: asyncio와 aiohttp를 사용하여 효율적이고 블로킹되지 않는 요청을 처리합니다.
  • 병렬 요청: 여러 작업(코루틴)을 실행하여 동시 요청을 시뮬레이션합니다.
  • 사용자 정의 가능한 매개변수: 요청 수, 지연 시간, 작업당 최대 요청 수를 제어하는 여러 구성 옵션.
  • 로깅: 선택적으로 요청 결과 및 오류를 파일에 기록하여 분석할 수 있습니다.

취약한 대상

이 익스플로잇은 취약한 버전의 graphql-java를 실행하는 서버, 특히 깊게 중첩된 인트로스펙션 쿼리를 적절히 처리하지 못하는 서버를 대상으로 합니다.

영향을 받는 시스템:

  • graphql-java 서버 (CVE-2024-40094에 취약한 버전)

설치

익스플로잇을 실행하려면 Python 3.7+와 다음 종속성이 필요합니다:

  • aiohttp for asynchronous HTTP requests
  • urllib3 for SSL handling (disables self-signed certificate warnings)

종속성 설치:

필요한 종속성은 pip를 사용하여 설치할 수 있습니다:

root@kitploit:~
pip install aiohttp urllib3

구성

모든 주요 매개변수는 런타임에 명령줄 옵션을 통해 제공할 수 있습니다:

  • URL (--url): 대상 GraphQL API URL.
  • HEADERS (--header): 필요에 따라 Authorization 토큰 및 기타 헤더를 사용자 정의합니다. 요청은 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 파일을 참조하십시오.

도구 다운로드