
Prova de Conceito sobre Web3 – Login com carteira cripto e bloqueio de token NFT < 3.0.0 - Bypass de Autenticação em plugin Wordpress
POC sobre o plugin Wordpress Web3 – Crypto wallet Login & NFT token gating < 3.0.0 - Bypass de Autenticação
Esta vulnerabilidade é sobre bypass de autenticação devido a uma verificação incorreta de autenticação nas funções ‘handle_login_request’ e ‘handle_auth_request’.
Dividi o fluxo de login em 3 etapas, que são na verdade 3 POSTs diferentes ao fazer login através da nossa carteira web3.


Com este pedido POST, qualquer pessoa pode obter o nonce de um utilizador existente, por isso pode obter o nonce do utilizador admin apenas sabendo o seu nome de utilizador ou carteira, substituindo o parâmetro “address” pelo nome de utilizador e fazendo o pedido POST.
Depois, pode saltar o segundo POST de login, pois este apenas verifica se a assinatura do nonce está correta ou não, mas está isolado do fluxo de login.


Na 3ª etapa, pode fazer o login apenas enviando:
• nome de utilizador alvo
• nonce alvo (do passo 1)
• nonce público do wp


Basicamente, não verifica se o utilizador que está a tentar fazer login na 3ª etapa é o mesmo que fez a assinatura na etapa 2; e qualquer pessoa pode contornar o login de autenticação e potencialmente fazê-lo como um utilizador admin.
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