
このPoCは、AkuCyberSec のものに基づいています。
docker-compose を使って脆弱性環境を起動します:
docker-compose up -d
その後、URL http://localhost:8000 で WordPress 管理画面にアクセスできます。
管理者ユーザーを登録し、Users タグに no-admin ユーザーを追加します。例えば、次の2人のユーザーがいます:
| ユーザー名 | パスワード | 役割 |
|---|---|---|
| wc | 123456 | 管理者 |
| a2 | aaaaaa | 編集者 |
管理者アカウントでログインし、提供された zip を使って Elementor 3.6.1 をインストールします。
アップロードサイズの問題が発生した場合は、次のように php.ini を /var/www/html/ に追加し、Docker サーバーを再起動してください:
upload_max_filesize = 64M
max_execution_time = 0
post_max_size = 150M
file_uploads = on
PoC スクリプトをあなたの no-admin ユーザー情報で編集し、PoC スクリプトを実行してエクスプロイトします:
python3 poc.py
注記: スクリプトが アップロード問題 で失敗する可能性がありますが、それは 問題ありません。ブラウザで管理画面を更新して動作するか確認してください。
このPoCは現在、ペイロードとして phpinfo(); を実行します。もちろんこれを編集できますが、Docker コンテナ内の /var/www/html/wp-content/plugin/elementor-pro にある elementor-pro プラグインを手動で削除する必要があります:
# Unzip the zip file
unzip elementor-pro.zip
# Edit the main file to put your payload, it's in the begin of the file
nano elementor-pro/elementor-pro.php
# And zip
rm elementor-pro.zip; zip -ry elementor-pro.zip elementor-pro
# exploit again
python3 poc.py
