Уязвимость в плагине WordPress 404 Redirection Manager
В WordPress плагине 404 Redirection Manager была обнаружена уязвимость, обнаружена уязвимость, позволяющая атакующему произвести внедрение SQL-кода.
Плагин предназначен для автоматического перенаправления со страниц, содержащих 404 ошибку на любую другую страницу.
Уязвимая страница находится в custom/lib/cf.SR_redirect_manager.class.php в строке 356:
$sql = "insert into " . SR_database::WP_SEO_Redirection() . "(redirect_from,redirect_to,redirect_type,redirect_from_type,redirect_to_type,redirect_from_folder_settings,redirect_from_subfolders,redirect_to_folder_settings,cat,blog,grpID) values ('$post_before_permalink','$post_after_permalink','301','$redirect_from_type','$redirect_to_type','$redirect_from_folder_settings','$redirect_from_subfolders','$redirect_to_folder_settings','link','" . get_current_blog_id() . "','$grpID') "
Уязвимость возможна из-за недостаточной фильтрации входящих данных параметра redirect_from, в который злоумышленник может с помощью специально сформированного запроса выполнить произвольные команды в базе данных уязвимого приложения.
Пример эксплуатации уязвимости:
/path-to-wordpress/%27%29%20AND%20%28SELECT%20%2a%20FROM%20%28SELECT%28SLEEP%285-%28IF%28%27a%27%3D%27a%27%2C0%2C5%29%29%29%29%29FPYG%29%20AND%20%28%27SQL%27%3D%27SQL
Использование Web Application Firewall позволяет блокировать подобные атаки.