
PoC sobre Web3 – Inicio de sesión con cartera de criptomonedas y control de acceso por token NFT < 3.0.0 - Omisión de autenticación en plugin de WordPress
POC sobre el plugin de WordPress Web3 – Crypto wallet Login & NFT token gating < 3.0.0 - Authentication Bypass
Esta vulnerabilidad se trata de una omisión de autenticación debida a una comprobación incorrecta de autenticación en la función ‘handle_login_request’ y en la función ‘handle_auth_request'.
He dividido el flujo de inicio de sesión en 3 pasos, que en realidad son 3 POST diferentes al iniciar sesión a través de nuestra wallet web3.


Con esta petición POST, cualquiera puede recuperar un nonce de usuario existente, por lo que puedes obtener el nonce de un usuario administrador solo conociendo su nombre de usuario o wallet, reemplazando el parámetro “address” con su nombre de usuario y realizando la petición POST.
Luego, puedes omitir la segunda petición POST de inicio de sesión, ya que esta solo comprueba si la firma del nonce es correcta o no, pero está aislada del flujo de inicio de sesión.


En el paso 3, puedes iniciar sesión simplemente enviando:
• nombre de usuario objetivo
• nonce objetivo (del paso 1)
• nonce público de WP


Básicamente, no se comprueba que el usuario que intenta iniciar sesión en el paso 3 sea el mismo usuario que realizó la firma en el paso 2; y cualquiera puede omitir la autenticación de inicio de sesión y potencialmente hacerlo como usuario administrador.
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