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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-48908 — Joomla SP Page Builder의 인증되지 않은 RCE인 CVE-2026-48908에 대한 개념 증명 익스플로잇으로, 임의 파일 업로드를 통한 적응형 페이로드 전달 및 정리를 포함합니다. | Kitploit
도구/GitHubGitHub/bayu06802/cve-2026-48908
Vulnerability AnalysisExploitationWeb Application ExploitationCTFPenetration TestingLearning & EducationPayload Development
GitHubbayu06802/cve-2026-48908

CVE-2026-48908

Joomla SP Page Builder의 인증되지 않은 RCE인 CVE-2026-48908에 대한 개념 증명 익스플로잇으로, 임의 파일 업로드를 통한 적응형 페이로드 전달 및 정리를 포함합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-48908 — SP Page Builder (Joomla) 인증되지 않은 원격 코드 실행 (RCE)

CVE-2026-48908에 대한 개념 증명 익스플로잇, 이는 JoomShaper의 Joomla용 SP Page Builder 컴포넌트 (com_sppagebuilder)에서 발생하는 심각한 (CVSS 4.0 = 10.0) 인증되지 않은 원격 코드 실행 취약점입니다.

CVECVE-2026-48908
취약점 유형CWE-284 Improper Access Control → Unauthenticated Arbitrary File Upload → RCE
컴포넌트SP Page Builder (com_sppagebuilder) for Joomla
영향받는 버전1.0.0 – 6.6.1
수정 버전6.6.2
필요 권한없음 (인증 전)
사용자 상호 작용없음

설명

SP Page Builder는 사용자 정의 아이콘 폰트 패키지 업로드를 처리하기 위해 컨트롤러 작업 **asset.uploadCustomIcon**을 노출합니다.

root@kitploit:~
index.php?option=com_sppagebuilder&task=asset.uploadCustomIcon

영향받는 버전에서는 이 작업이 인증 없이, 유효한 안티-CSRF 토큰 없이 접근 가능합니다. ZIP 아카이브(multipart 필드 custom_icon)를 받아서 문서 루트 아래 공개 웹 서비스 디렉터리로 내용을 추출합니다.

root@kitploit:~
/media/com_sppagebuilder/assets/iconfont/<name>/   (including the fonts/ subfolder)

업로드가 인증 전에 접근 가능하고 추출된 파일이 웹 루트에 위치하기 때문에 공격자는 공격자 제어 파일을 브라우징 가능한 위치에 쓸 수 있고 HTTP를 통해 접근할 수 있습니다.

확장 필터를 우회한 코드 실행 달성

일부 빌드는 아카이브 항목에 서버 측 파일 이름 필터를 추가합니다. 이 PoC는 다음 3단계 체인을 통해 일반적인 구현을 우회합니다:

  1. 대소문자 구분 블록리스트. 필터는 소문자 .php, .phtml, .phar, .php3–.php8, .pht, .inc, … 을 거부하지만 대소문자를 정규화하지 않으므로 .PHP (및 기타 대소문자 혼합 변형)와 .htaccess 는 통과합니다.
  2. 대소문자 구분 웹 서버 핸들러. 기본 Apache PHP 핸들러 (<FilesMatch "\.php$">)는 소문자 .php만 실행하므로, 업로드된 .PHP는 처음에 소스 텍스트로 제공되며 실행되지 않습니다.
  3. .htaccess 오버라이드. 블록리스트가 놓치는 AddType application/x-httpd-php .PHP를 포함한 .htaccess가 페이로드와 함께 드롭됩니다. AllowOverride가 허용하는 경우, 이는 .PHP를 PHP로 등록하고 업로드된 셸이 실행됩니다.

PoC는 항상 유효한 아이콘 폰트 구조(selection.json, style.css, fonts/<name>.ttf)를 패키징하여 업로드가 수락되도록 한 다음 셸을 추가합니다.

적응형 — PHP 실행 가능 확장 목록(가장 작은 풋프린트 순)을 순회한 후 .htaccess 대비책을 사용하며, 실제로 코드를 실행하는 첫 번째 방법에서 중단됩니다:

  1. 직접 단일 파일 업로드 — 각 확장자 php, php3, php4, php5, php7, pht, phtml, phar, PHP, pHp, Php에 대해 fonts/<shell>.<ext>. .htaccess 없음. 서로 다른 SP Page Builder 필터가 서로 다른 집합을 차단하고, 서로 다른 Apache 구성이 서로 다른 확장자를 실행합니다 — 따라서 대상이 허용하면서 실행하는 모든 조합을 찾습니다.
  2. fonts/.htaccess + fonts/<shell>.PHP (대비책) — 모든 직접 시도가 실패한 경우에만. 드롭된 .htaccess (AddType … .PHP)는 AllowOverride가 허용하는 곳에서 대문자 .PHP를 실행하도록 강제합니다 (5.4.6 스타일 호스트에 필요한 경우).

실행되는 첫 번째 방법에서 중단되며 어떤 방법이 적용되었는지 출력합니다. 수락된 모든 업로드는 추적되므로 --cleanup은 모든 업로드를 제거합니다 (여러 번 시도하면 쓰기 전용 디렉터리가 남을 수 있음).

버전 및 서버 강화에 따라 결과가 다르며, PoC는 명시적으로 결과를 표시합니다 (아래 결과 참조): 완전한 RCE, 파일 쓰기 전용 (PHP 비활성화 / AllowOverride None), 패치됨 (관리자 전용), 또는 취약하지 않음.

요구 사항

root@kitploit:~
pip install -r requirements.txt   # requests

사용법

root@kitploit:~
# 취약점 확인 및 코드 실행 증명 (id 실행)
python3 sppb_rce.py https://target.example

# 특정 명령 실행
python3 sppb_rce.py --url target.example -c "uname -a"

# 대화형 유사 셸
python3 sppb_rce.py https://target.example --shell

# 확인만; 명령 실행 안 함
python3 sppb_rce.py https://target.example --check

# 이후 업로드된 페이로드 디렉터리 제거
python3 sppb_rce.py https://target.example --cleanup

대상은 위치 인수 또는 --url로 제공할 수 있으며, 스킴 유무에 관계없이 사용 가능합니다.

예시 (익명 처리)

root@kitploit:~
[*] target   : https://target.example
[*] endpoint : index.php?option=com_sppagebuilder&task=asset.uploadCustomIcon
[*] try .php            -> rejected by filter
[*] try .php3           -> rejected by filter
...
[*] try .PHP            -> uploaded, not executed
[*] try .htaccess+.PHP  -> EXECUTED
[+] CODE EXECUTION CONFIRMED via '.htaccess+.PHP' (echo 7*6 -> 42)
[*] running: id
------------------------------------------------------------
uid=33(www-data) gid=33(www-data) groups=33(www-data)
------------------------------------------------------------
[*] cleanup: done (4 dirs)

결과 (및 종료 코드)

PoC는 항상 대상에 대한 판정을 알려줍니다:

출력의미종료 코드
CODE EXECUTION CONFIRMED via '<method>'취약함 — 완전한 인증되지 않은 RCE0
[~] PARTIALLY VULNERABLE — unauth file-write works, but PHP did NOT execute파일 쓰기 전용 (AllowOverride None / /media에서 PHP 비활성화)3
[-] TARGET NOT VULNERABLE — SP Page Builder is patched (6.6.2+)패치됨 — 업로드에 이제 관리자 인증 필요1
[-] TARGET NOT VULNERABLE — every upload was rejected, or SP Page Builder is absent/patched익스플로잇 불가 / 컴포넌트 없음2

안전 기능

  • 드롭된 웹 셸은 무작위 실행별 토큰으로 보호되며, 토큰 없이 접근하면 404를 반환합니다 — 공개 백도어가 아닙니다.
  • --cleanup은 생성된 페이로드 디렉터리를 삭제합니다.
  • 기본 작업은 무해합니다 (id, 산술 마커).

해결 방법

  1. SP Page Builder를 6.6.2 이상으로 업그레이드 (업로드 작업에 인증, 권한 부여 및 CSRF 검사 추가). 이것이 주요 수정 사항입니다.
  2. 웹 서버의 심층 방어:
    • FPM 풀 또는 php_admin_flag engine off를 사용하여 업로드 디렉터리(/media/, /images/, /tmp)에서 PHP 실행을 비활성화합니다.
    • 해당 디렉터리에 AllowOverride None을 설정하여 드롭된 .htaccess가 핸들러를 다시 활성화하지 못하도록 합니다.
    • 업로드 확장자에 대해 대소문자 구분 없는 허용 목록을 사용하고, 절대 블록리스트를 사용하지 마십시오.
  3. 침해 가정 검토: media/.../iconfont/ 아래에 예상치 못한 .php/.PHP 파일, 새로운 슈퍼 사용자 계정, 심어진 파일 관리자를 찾아보십시오.

참고 자료

  • NVD — CVE-2026-48908
  • CVE.org 기록 — CVE-2026-48908
  • 기술 분석 — SP Page Builder uploadCustomIcon RCE (mySites.guru)
  • 공급업체 — JoomShaper SP Page Builder (6.6.2에서 보안 수정)
  • SP Page Builder — Joomla 확장 디렉터리

키워드

Joomla SP Page Builder 익스플로잇 · com_sppagebuilder 인증되지 않은 RCE · CVE-2026-48908 PoC · asset.uploadCustomIcon 임의 파일 업로드 · Joomla 원격 코드 실행 · 침투 테스트 익스플로잇 스크립트.

면책 조항

이 소프트웨어는 교육 목적 및 허가된 보안 테스트용으로만 게시됩니다 — 예: 서면 허가를 받은 침투 테스트, 대상이 범위 내에 포함된 버그 바운티 프로그램, CTF 대회, 자체 랩 시스템 등.

허가 없이 컴퓨터 시스템에 접근, 수정 또는 중단하는 것은 대부분의 관할권에서 불법입니다. 귀하는 귀하의 행동에 대해 전적으로 단독 책임을 집니다. 이 코드를 사용, 다운로드 또는 배포함으로써 다음에 동의하는 것으로 간주됩니다:

  • 귀하가 소유하거나 테스트할 명시적이고 문서화된 허가를 받은 시스템에 대해서만 사용할 것;
  • 작성자 및 기여자는 이 코드의 사용 또는 오용으로 인한 손해, 데이터 손실, 서비스 중단 또는 법적 결과에 대해 책임을 지지 않음;
  • 이 자료는 명시적이든 묵시적이든 어떠한 종류의 보증 없이 "있는 그대로" 제공됩니다.

이 약관에 동의하지 않는 경우 이 소프트웨어를 사용하지 마십시오. 공개적으로 제공되는 다른 익스플로잇/PoC와 마찬가지로, 이는 방어자가 취약점을 탐지, 이해 및 수정하는 데 도움을 주기 위해 선의로 공유됩니다; 이 코드로 무엇을 하는지는 귀하의 책임입니다.

라이선스

MIT — LICENSE 참조.

도구 다운로드