
POC su Web3 – Crypto wallet Login & NFT token gating < 3.0.0 - Bypass dell'autenticazione plugin WordPress
POC relativo al plugin Wordpress Web3 – Crypto wallet Login & NFT token gating < 3.0.0 - Bypass dell'autenticazione
Questa vulnerabilità riguarda il bypass dell'autenticazione dovuto a un controllo dell'autenticazione errato nella funzione ‘handle_login_request’ e nella funzione ‘handle_auth_request'
Ho diviso il flusso di login in 3 passaggi, che in realtà sono 3 POST diverse quando si effettua il login tramite il nostro wallet web3.


Con questa richiesta POST, chiunque può recuperare il nonce di un utente esistente, quindi puoi ottenere il nonce dell'utente admin semplicemente conoscendo il suo username o wallet, sostituendo il parametro “address” con il suo username e inviando la richiesta POST.
Poi, puoi saltare la seconda POST di login, poiché questa controlla solo se la firma del nonce è corretta o meno, ma è isolata dal flusso di login.


Nel terzo passaggio, puoi effettuare il login semplicemente inviando:
• username target • nonce target (dal passaggio 1) • nonce pubblico wp


Quindi fondamentalmente non si controlla che l'utente che tenta il login nel terzo passaggio sia lo stesso che ha firmato nel passaggio 2; e chiunque può bypassare il login di autenticazione e potenzialmente farlo come utente 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