
인증되지 않은 파일 업로드 → CVE-2026-57827(RSFiles! Joomla < 1.17.12)에 대한 RCE PoC. 승인된 보안 연구 목적으로만 사용하십시오.
면책 조항 — 승인된 용도로만 사용하세요. 이 프로젝트는 보안 연구 및 방어 테스트를 위한 개념 증명(PoC) 자료입니다. 소유한 시스템 또는 명시적인 서면 승인을 받은 시스템에서만 사용할 책임이 있습니다. 동의 없이 제3자를 대상으로 오용하는 것은 불법입니다. 책임 있는 공개 입장은 SECURITY.md를 참조하세요.
Joomla용 RSFiles!(com_rsfiles) 구성 요소의 CVE-2026-57827에 대한 익스플로잇 및 독립형 탐지기입니다. 버전 < 1.17.12(1.17.12에서 수정됨, CVSS 9.8 / 10.0).
프론트엔드 업로드는 두 개의 작업(task)으로 나뉩니다:
rsfiles.checkupload — 사전 검사 게이트(권한 + 확장자 허용 목록)rsfiles.upload — 쓰기 메서드(권한 검사 없음, 파일 형식 검사 없음, CSRF 없음)쓰기 작업은 사전 검사 게이트를 건너뛰고 직접 호출할 수 있습니다. 이를 통해
인증되지 않은 공격자가 실행 가능한 .php 파일을 공용 폴더에 업로드하고
실행할 수 있습니다 → 인증되지 않은 RCE.
모든 모듈은 같은 디렉터리에 있어야 합니다(서로를 import합니다).
python3 -m pip install -r requirements.txt # or just: pip install requests
python rsfiles_detect.py -t example.com
Host : example.com
RSFiles! : YES v1.17.11
Protocol : https
Status : VULNERABLE (below 1.17.12)
다중 호스트:
python rsfiles_detect.py -f hosts.txt
python cve_2026_57827.py -t example.com
성공 시 이 도구는 임의 토큰이 포함된 셸 URL과 명령 출력을 표시합니다 — 이 출력이 RCE의 증거입니다.
python cve_2026_57827.py -f targets.txt --threads 30 -o shells.txt --csv report.csv
# Terminal 1 — start the mock (vulnerable)
python mock_server.py 8000 1.17.11
# Terminal 2 — scan it
python rsfiles_detect.py -t 127.0.0.1:8000
python cve_2026_57827.py -t 127.0.0.1:8000
1.17.11 / 1.17.10 = 취약 · 1.17.12 = 패치됨
payload.py): 각 동작(gate, upload, exec, delete, list)은
하나의 작은 함수입니다. exec 함수 이름은 base64로 인코딩되어 system과 같은
원본 이름이 파일 바이트에 나타나지 않습니다.cache7f31.php)을 사용합니다.common.base_of()를 통한 단일 소스 URL 파싱.스타일은 공개된 Joomla 구성 요소 익스플로잇 컬렉션(예:
incredibleindishell/joomla-vulnerabilities)과 이 CVE에 대한 RSJoomla/mysites.guru
권고문을 모델로 했습니다.
MIT — LICENSE 참조. 연구/방어 목적으로만 사용하세요.
| 파일 | 용도 |
|---|
cve_2026_57827.py | 익스플로잇 + 스캐너 + CLI(진입점) |
rsfiles_detect.py | 독립형 탐지 모듈(익스플로잇 없음) — 자체 CLI도 포함 |
payload.py | 모듈식의 컴팩트한 PHP 페이로드 빌더 |
common.py | 공유 HTTP 클라이언트, 설정 및 헬퍼 |
mock_server.py | 테스트용 안전한 로컬 시뮬레이션 |
| 플래그 | 설명 |
|---|
--threads N | 동시성(기본값 30) |
--proxy URL | 프록시(Burp/ZAP)를 통해 경로 설정 |
--timeout N | 요청당 타임아웃(초) |
--no-cleanup | 업로드된 셸 유지(기본값: RCE 후 자동 삭제) |
-o FILE | RCE URL 저장 |
--csv FILE | 전체 구조화 보고서 |
--debug / -v | 상세 요청 수준 로깅 |