
MapPress Maps Pro < 2.53.9 - Удаленное выполнение кода (RCE) из-за некорректного контроля доступа в AJAX-действиях
MapPress Maps Pro < 2.53.9 - Удаленное выполнение кода (RCE) из-за неправильного контроля доступа в AJAX-действиях
Профессиональная версия этого плагина регистрирует несколько AJAX-действий, которые вызывают функции, не имеющие проверок прав доступа и nonce, в частности функции 'ajax_get', 'ajax_save' и 'ajax_delete' в файле mappress_template.php. Таким образом, вошедший в систему злоумышленник с минимальными правами, например, подписчик, может выполнить следующие действия: Загрузить исполняемый PHP-файл (включая потенциальные бэкдоры) и добиться удаленного выполнения кода, отправив $_POST-запрос на wp-admin/admin-ajax.php с параметром 'action', установленным в 'mapp_tpl_save', параметром 'name', установленным в базовое имя файла, который он хочет создать, и параметром 'content', установленным в исполняемый PHP-код. Этот файл будет создан и может быть выполнен из каталога текущей активной темы.
Удалить любой существующий PHP-файл на сайте (например, wp-config.php), отправив $_POST-запрос на wp-admin/admin-ajax.php с параметром 'action', установленным в 'mapp_tpl_delete', и параметром 'name', установленным в базовое имя файла для удаления. Например, для удаления wp-config.php можно использовать атаку обхода каталога, установив параметр 'name' в '../../../wp-config'). Это приведет к сбросу сайта, после чего злоумышленник может получить полный контроль над сайтом.
Просмотреть содержимое любого существующего PHP-файла на сайте (например, wp-config.php), отправив $_GET-запрос на wp-admin/admin-ajax.php с параметром 'action', установленным в 'mapp_tpl_get', и параметром 'name' файла для раскрытия. Например, для просмотра содержимого wp-config.php можно использовать атаку обхода каталога, установив параметр 'name' в '../../../../wp-config'.
python3 exploit.py --url http://wordpress.lan --username user --password useruser1 --code "<?php phpinfo(); ?>"