
Web3 – Crypto wallet Login & NFT token gating < 3.0.0 - WordPressプラグインの認証バイパスに関するPOC
WordPressプラグイン Web3 – Crypto wallet Login & NFT token gating < 3.0.0 - 認証バイパス に関するPOC
この脆弱性は、'handle_login_request' 関数と 'handle_auth_request' 関数における不正確な認証チェックによる認証バイパスに関するものです。
ログインフローを3つのステップに分けました。実際には、web3ウォレットでログインするときの3つの異なるPOSTです。


このPOSTリクエストを使用すると、誰でも既存ユーザーのnonceを取得できます。そのため、パラメータ「address」をユーザー名に置き換えてPOSTリクエストを行うことにより、ユーザー名またはウォレットを知るだけで管理者ユーザーのnonceを取得できます。
次に、2番目のログインPOSTは省略できます。これはnonceの署名が正しいかどうかのみをチェックし、ログインフローから分離されているためです。


3番目のステップでは、以下を送信するだけでログインできます。
• 対象のユーザー名
• 対象のnonce(ステップ1から)
• 公開wp nonce


要するに、3番目のステップでログインしようとしているユーザーが、ステップ2で署名を行ったユーザーと同じであるかどうかをチェックしません。したがって、誰でも認証ログインをバイパスし、管理者ユーザーとしてログインできる可能性があります。
https://wpscan.com/vulnerability/7f30ab20-805b-422c-a9a5-21d39c570ee4
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-6036
https://www.udemy.com/course/0-day-wordpress/?referralCode=7039562B316447367B85