
POC concernant Web3 – Connexion par portefeuille crypto et contrôle d'accès par NFT < 3.0.0 - Contournement de l'authentification du plugin WordPress
POC concernant le plugin Wordpress Web3 – Crypto wallet Login & NFT token gating < 3.0.0 - Contournement d'authentification
Cette vulnérabilité concerne un contournement de l'authentification dû à une vérification incorrecte de l'authentification dans les fonctions « handle_login_request » et « handle_auth_request »
J'ai divisé le flux de connexion en 3 étapes, qui sont en réalité 3 requêtes POST différentes lors de la connexion via notre portefeuille web3.


Avec cette requête POST, n'importe qui peut récupérer le nonce d'un utilisateur existant. Vous pouvez donc obtenir le nonce de l'utilisateur admin simplement en connaissant son nom d'utilisateur ou son portefeuille, en remplaçant le paramètre « address » par son nom d'utilisateur et en effectuant la requête POST.
Ensuite, vous pouvez ignorer la deuxième requête POST de connexion, car celle-ci vérifie uniquement si la signature du nonce est correcte ou non, mais elle est isolée du flux de connexion.


À l'étape 3, vous pouvez effectuer la connexion en envoyant simplement :
• le nom d'utilisateur cible
• le nonce cible (de l'étape 1)
• le nonce wp public


En gros, le système ne vérifie pas que l'utilisateur qui tente de se connecter à l'étape 3 est le même que celui qui a effectué la signature à l'étape 2 ; n'importe qui peut donc contourner la connexion d'authentification et potentiellement se connecter en tant qu'administrateur.
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