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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-44011-craftcms-auth-rce — CVE-2026-44011의 PoC: 인증된 사용자를 통한 Craft CMS RCE. | Kitploit
도구/GitHubGitHub/4xura/cve-2026-44011-craftcms-auth-rce
Vulnerability AnalysisExploitationWeb Application ExploitationPost-ExploitationWeb SecurityPenetration TestingCommand and ControlRemote Access Tool
GitHub
4xura/cve-2026-44011-craftcms-auth-rce

CVE-2026-44011-craftcms-auth-rce

CVE-2026-44011의 PoC: 인증된 사용자를 통한 Craft CMS RCE.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-44011 Craft CMS 인증된 RCE PoC

승인된 테스트 용도로만 사용하십시오.

Craft CMS 권고문은 >=4.0.0, <4.17.12 및 >=5.0.0, <5.9.18을 영향을 받는 버전으로 나열하며, precicom-vincent-tl을 발견자로 명시하고 있습니다.

실행

python -m pip install -r requirements.txt
python cve-2026-44011.py -b 'https://example.com' -u '<username' -p '<password>' -c '<command>'

필수 인수:

  • -b, --base-url: http:// 또는 https://를 포함한 Craft URL.
  • -u, --username: 제어판 사용자 이름.
  • -p, --password: 제어판 비밀번호.
  • -c, --command: 실행하고 출력을 캡처할 명령.

선택적 인수:

  • -P, --cp-path: 제어판 경로 (기본값: /admin).
  • -s, --site-id: 사이트 ID (기본값: 1).
  • -e, --element-type: 요소 유형 (기본값: craft\elements\Category).
  • -f, --csrf-field: 로그인 CSRF 필드 이름 (기본값: CRAFT_CSRF_TOKEN).
  • -t, --timeout: 요청 및 콜백 타임아웃(초) (기본값: 15).
  • -F, --force: Craft 버전을 확인할 수 없거나 권고 범위를 벗어난 경우에도 계속 진행.
  • -H, --callback-host: 대상이 접근할 수 있는 주소 (기본적으로 로컬 주소가 추론됨; 피벗 뒤에서는 재정의).
  • --listen-port: 리스너 포트 (기본값: OS가 선택한 사용 가능한 포트; 포워딩을 위해 고정 포트 설정).

취약점 분석

1. 조건 입력

취약한 검색 액션에서 condition은 POST 본문에서 정제 없이 객체 생성으로 전달됩니다.

$conditionConfig = $this->request->getBodyParam('condition');
$condition = Craft::$app->getConditions()->createCondition($conditionConfig);

2. 중첩 필드 레이아웃

ElementCondition::setFieldLayouts()는 제공된 각 배열로부터 레이아웃을 생성합니다.

if (is_array($fieldLayout)) {
    $fieldLayout['type'] = $this->elementType;
    return $fieldsService->createLayout($fieldLayout);
}

3. 호출 가능 실행

권고 페이로드는 as 키와 함께 Yii의 AttributeTypecastBehavior를 첨부하고 on *으로 이벤트를 연결합니다. 이 동작은 Yii의 호출 가능 타입캐스트를 통해 Psy\Readline\Hoa\ConsoleProcessus::execute에 도달합니다.

condition.fieldLayouts[]
  -> FieldLayout behavior + event
  -> AttributeTypecastBehavior::typecastValue()
  -> call_user_func()
  -> ConsoleProcessus::execute()

수정된 컨트롤러는 객체 생성 전에 조건에 Component::cleanseConfig()를 적용합니다.

참고 사항

  • Craft의 CSRF 문서는 POST 액션에 유효한 세션과 토큰을 요구합니다. 스크립트는 로그인과 검색을 통해 이들을 전달합니다.
  • Psy의 ConsoleProcessus::execute()는 기본적으로 셸 메타문자를 이스케이프합니다. PoC는 -c를 실행할 임시 스크립트를 제공하고, 내장 HTTP 리스너에서 출력을 수신한 뒤 리스너를 종료합니다. 대상이 추론된 주소에 접근할 수 없는 경우 -H를 사용하십시오.
  • 출력 캡처를 위해서는 대상에 sh, curl, mktemp가 필요합니다.
  • 테스트: python -m unittest discover -s tests -v.
도구 다운로드