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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
drupal-htmx-attr — Drupal 11.4.8 - 높음 - 원격 - XSS - AttributeXss가 여전히 HTMX 속성을 허용함 | Kitploit
도구/GitHubGitHub/abraxas/drupal-htmx-attr
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingLabs & Practice
GitHubabraxas/drupal-htmx-attr

drupal-htmx-attr

Drupal 11.4.8 - 높음 - 원격 - XSS - AttributeXss가 여전히 HTMX 속성을 허용함

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Abraxas Labs - drupal-htmx-attr

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  drupal-htmx-attr

분석 문서: https://abraxaslabs.tech/research/drupal-htmx-attr

drupal-htmx-attr

분류: 저장형 XSS 도달 범위: 원격

Drupal core 11.4.8 (61044508) - Drupal

SA-CORE-2026-011은 Xss::attributes()에서 HTMX 속성을 차단했습니다. 링크 및 메뉴 속성은 AttributeXss::sanitizeAttributes를 거치는데, 이 제외 목록은 여전히 style과 on*만 제거합니다.

Link 필드(또는 메뉴 링크)를 설정할 수 있는 콘텐츠 편집자는 hx-on-click 또는 data-hx-on-click을 저장할 수 있습니다. Standard와 BigPipe 구성은 core/htmx를 로드합니다. 관리자나 다른 열람자가 해당 노드를 열고 링크를 클릭하면, HTMX가 저장된 JS를 사이트 오리진에서 실행합니다.

ID아직 CVE 없음
분류저장형 XSS (HTMX 이벤트 속성)
도달 범위원격 (인증된 Link 필드 / 메뉴 작성자; 피해자가 열람 후 클릭)
CWECWE-79
CVSSHigh: 8.7 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N
제품Drupal core
영향 받는 버전11.4.8 (61044508071749629aaf3380aa85971e94df9e84)
인증Link 필드(또는 메뉴 링크)를 작성할 수 있는 인증된 사용자. 피해자가 페이지를 열람하고 클릭.
라이선스GNU Affero GPL v3.0
실습 환경127.0.0.1 전용

공격자가 할 수 있는 일

작성자: 링크 options.attributes(Link 필드, 메뉴 링크, JSON:API)를 설정할 수 있는 콘텐츠 편집자. 피해자: 페이지가 HTMX를 로드하는 모든 사람(Standard + BigPipe는 core/htmx를 로드), 링크를 클릭하는 사이트 관리자를 포함.

권한메서드 / 경로종류실습 입증 또는 추론
링크에 HTMX 이벤트 속성 저장POST /jsonapi/node/article에 field_link.options.attributes.hx-on-click 및 data-hx-on-click 포함저장된 필드의 무결성실습 입증. JSON:API 201, 저장된 속성에 여전히 hx-on-click 존재
해당 속성을 노드 <a>에 출력LinkFormatter -> AttributeXss::sanitizeAttributesHTML의 무결성실습 입증. GET /node/1 HTML에 hx-on-click과 마커 window['DRUPAL-HTMX-ATTR-WITNESS']=1 포함
피해자가 클릭할 때 피해자 오리진에서 해당 JS 실행HTMX가 hx-on-*를 바인딩피해자 세션의 무결성HTMX와 페이지의 core/htmx 로드로부터 추론. 실습에서는 브라우저 클릭을 수행하지 않음
열람자로서 행동(세션 쿠키, 관리자 UI 클릭)동일한 저장형 XSS피해자 세션의 무결성추론. 실습은 속성이 HTML에 남는 단계에서 중단
부정: Xss::filterXss::filter('<a ... hx-on-click=...>')차단됨실습 입증 차단됨. xss_keeps_hx=False
인증 없이 링크 작성세션 없는 JSON:API차단됨실습은 먼저 uid 1로 로그인함. 계정이 없는 외부인은 필드를 설정할 수 없음
PHP RCE / LPE해당 없음차단됨이 잔여물은 브라우저 JS이며 서버의 PHP가 아님

동일한 버전 고정 잔여물: Move Block sibling markup.

발견 방법

SA-CORE-2026-011 이후 drupal/drupal 11.4.8을 고정했습니다. 다섯 가지 헌트: XSS/HTMX, 파일/MIME/oEmbed, JSON:API/unserialize/SQLi, 인증/CSRF/Host, REST/media/Views. JSON:API 접근, EntityQuery IN 키(SA-004), 직렬화 필드 POI(SA-005), rebuild.php Host(SA-007)는 패치된 상태로 유지됩니다. HTMX 스킵 목록은 Xss.php에만 반영되었습니다.

$skip = (
  in_array($attribute_name, ['style', 'srcdoc']) ||
  str_starts_with($attribute_name, 'on') ||
  str_starts_with($attribute_name, 'data-hx') ||
  str_starts_with($attribute_name, 'hx') ||
  str_starts_with($attribute_name, '-') ||
  strlen($attribute_name) > 96
);

AttributeXss.php 잔여물:

$skip = (
  $attribute_name == 'style' ||
  str_starts_with($attribute_name, 'on') ||
  str_starts_with($attribute_name, '-') ||
  strlen($attribute_name) > 96
);

호출자에는 LinkFormatter.php와 MenuLinkContent::getUrlObject()가 포함됩니다.

이미 기록된 잘못된 방향: Xss::filter를 잔여물로 취급한 것(이것은 대조군임); 인증 없는 JSON:API 쓰기; PHP RCE; 리버스 셸. 전부 쇼에 불과합니다. 오라클은 노드 HTML에 남아 있는 attr과 로드된 core/htmx입니다.

Lab

python3 drupal-htmx-attr-Abraxas-Labs.py

또는

cd lab
./run.sh

오직 http://127.0.0.1:19480만 대상으로 합니다. 라이브 drupal:11.4.8-apache, Standard 프로필, 실습 환경에서 JSON:API 쓰기 활성화됨. Compose 프로젝트 drupal-htmx-attr.

SUCCESS drupal-htmx-attr how=live write=jsonapi nid=1 hx-on-click=kept jsonapi-stored=1 xss-filter=stripped htmx=loaded marker=1 version=11.4.8 DRUPAL-HTMX-ATTR-WITNESS

수정 사항

hx / data-hx / srcdoc 거부 목록을 AttributeXss에 복사합니다. 클래스 docblock에 이미 명시된 대로 이를 Xss에 통합합니다.

참고 자료

  • github.com/drupal/drupal 태그 11.4.8 (61044508071749629aaf3380aa85971e94df9e84)
  • AttributeXss.php · Xss.php
  • 인근 패치: SA-CORE-2026-011
  • 동일 핀: drupal-move-block-markup
  • CWE-79

라이선스

GNU Affero GPL v3.0. LICENSE를 참조하세요. 루프백 랩 전용. 보증 없음.

도구 다운로드