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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-48908-PoC — 인증되지 않은 RCE PoC for CVE-2026-48908 — Joomla용 SP Page Builder (≤ 6.6.1): asset.uploadCustomIcon을 통한 임의 파일 업로드. 자체 정리, 토큰 보호. 인가된 테스트만 허용. | Kitploit
도구/GitHubGitHub/papageo75/cve-2026-48908-poc
Payload GenerationVulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingLearning & Education
GitHubpapageo75/cve-2026-48908-poc

CVE-2026-48908-PoC

인증되지 않은 RCE PoC for CVE-2026-48908 — Joomla용 SP Page Builder (≤ 6.6.1): asset.uploadCustomIcon을 통한 임의 파일 업로드. 자체 정리, 토큰 보호. 인가된 테스트만 허용.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

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 부적절한 액세스 제어 → 인증되지 않은 임의 파일 업로드 → RCE
컴포넌트Joomla용 SP Page Builder (com_sppagebuilder)
영향받는 버전1.0.0 – 6.6.1
수정 버전6.6.2
필요 권한없음 (사전 인증)
사용자 상호작용없음

설명

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

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

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

root@kitploit:~
/media/com_sppagebuilder/assets/iconfont/<name>/   (fonts/ 하위 폴더 포함)

업로드가 사전 인증 상태에서 가능하고 추출된 파일이 웹 루트에 위치하므로, 공격자는 공격자 제어 파일을 탐색 가능한 위치에 작성하고 HTTP를 통해 접근할 수 있습니다.

확장자 필터를 우회하여 코드 실행 달성

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

  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를 포함하는 (차단 목록도 놓침)가 페이로드와 함께 드롭됩니다. 가 허용되는 경우, 이는 를 PHP로 등록하고 업로드된 셸이 됩니다.

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

적응형 — 가장 작은 설치 공간부터 PHP 실행 가능 확장자 목록을 순회한 후 .htaccess 대체 방식을 사용하며, 실제로 코드가 실행되는 첫 번째 방법에서 중단합니다:

  1. 직접 단일 파일 업로드 — fonts/<shell>.<ext> for each of php, php3, php4, php5, php7, pht, phtml, phar, PHP, pHp, Php. .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는 항상 대상에 대한 판정을 알려줍니다:

안전 기능

  • 드롭된 웹 셸은 실행마다 무작위 토큰으로 보호되어 토큰이 없는 사용자에게는 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 파일, 새로운 Super User 계정, 설치된 파일 관리자 확인.

참고 자료

  • 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 참조.

도구 다운로드
.htaccess
AllowOverride
.PHP
실행
출력의미종료 코드
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