
CVE-2024-1813 用の PoC エクスプロイト: Simple Job Board WordPress プラグインにおける PHP オブジェクトインジェクションで、ガジェットチェーンを介して認証なしの RCE を達成します。安全なデモ用の Docker ラボを含みます。
エンドツーエンド: ゲストが公開アプリケーションフォームを通じてシリアライズされた PHPオブジェクトを保存し、管理者が応募者リストを開くと、ガジェットチェーンがウェブシェルをドロップします。
WordPressプラグイン Simple Job Board(PressTigers)における未認証の PHPオブジェクトインジェクション。ゲストが公開アプリケーションフォームを通じて シリアライズされたPHPオブジェクトを保存すると、後で管理者が応募者リストを 開いたときに、プラグインはそれをアンシリアライズし、サードパーティの ガジェットチェーンがリモートコード実行に変えます。
| CVE | CVE-2024-1813 |
| プラグイン | Simple Job Board (PressTigers) |
| 影響を受けるバージョン | ≤ 2.11.0 |
| 修正済みバージョン | 2.11.1 |
| 種別 | PHPオブジェクトインジェクション(安全でないデシリアライゼーション) |
| 認証 | なし(認証前インジェクション) |
| トリガー | 管理者が応募者リストを開く(通常のワークフロー) |
| CVSS | 9.8 |
📖 詳細な技術解説: https://mobeta.fr/blog/
このリポジトリは、付属のラボ兼PoCです。詳細な分析(根本原因、二重の
unserialize、POPチェーンの構築、WAFバイパス)はブログ記事に 掲載されています。
.
├── sjb_cve_2024_1813.py # the PoC (builds + sends the payload)
├── LICENSE
└── lab/
├── docker-compose.yml # WordPress + MariaDB + vulnerable plugins
├── setup/setup.sh # one-shot provisioning (wp-cli)
└── trigger_exploit.sh # simulates the admin opening the applicants list
脆弱なスタックを再現します: WordPress 6.9.4 / PHP 8.3 / MariaDB 10.11 に Simple Job Board 2.10.8(ソース+シンク)と All In One SEO 4.5.6(ガジェットチェーン)を使用。
cd lab
docker compose up -d # boot + auto-provision
docker compose logs setup # prints the site URL, admin creds and job_id
ラボのデフォルト: http://localhost:8081、管理者 admin / admin123!。
# 1. Store the payload (pre-auth). Replace 4 with the job_id from the setup logs.
python3 sjb_cve_2024_1813.py http://localhost:8081 4 'id > /tmp/RCE_PROOF.txt'
# 2. Fire the sink (plays the admin opening the applicants list).
cd lab && ./trigger_exploit.sh
# 3. Check the result.
docker exec sjb_lab_wp cat /tmp/RCE_PROOF.txt
便利なPoCフラグ:
--print-only - ワイヤーペイロードを構築して出力します。ネットワークトラフィックは発生しません。--field - POSTフィールド名(name を含む必要があります。デフォルトは jobapp_full_name)。--int-prefix '+' - シリアライズされた長さプレフィックスのWAF回避バリアント。--proxy http://127.0.0.1:8080 - Burpを経由させます。post_meta に対する明示的な unserialize() / maybe_unserialize() を監査し、unserialize($data, ['allowed_classes' => false]) を使用することを推奨します。vendor/composer/installed.json への直接アクセスをブロックしてください。認可されたセキュリティテストおよび教育目的に限ります。所有者から明示的な書面による許可を得ずに、いかなるシステムに対しても実行しないでください。
MIT - LICENSE を参照してください。