
Демонстрация уязвимости SQL-инъекции в wordpress 5.8.2
Этот репозиторий демонстрирует уязвимость в WordPress 5.8.2, в которой отсутствие санитизации в class-wp-tax-query.php может, в очень специфических ситуациях, позволить злоумышленникам выполнить SQL-инъекцию. Обратите внимание, что для успешной эксплуатации требуется, чтобы разработчики добавили уязвимый код в экземпляр WordPress, в котором несанитизированные пользовательские данные передаются в переменную $terms, используемую для построения SQL-функции. Смотрите evil.php во включённом плагине "evil" и отсутствие санитизации переменной $terms в get_sql_for_clause в class-wp-tax-query.php.
Уязвимый/вредоносный плагин находится в src/wp-content/plugins/evil/evil.php.
Шаги демонстрации sudo docker-compose up следуйте инструкциям по установке на localhost активируйте плагин WordPress в панели администратора (он называется evil plugin) Отправьте запрос из newexploit_req.txt на только что созданный сервер. Вы должны получить временную задержку. Обратите внимание, что уязвимость, демонстрируемая плагином, — это слепая SQL-инъекция, поэтому если вы хотите попробовать извлечение данных, вам нужно будет получать данные либо через временные задержки, либо через ошибки.
Заметки по отладке sudo service docker restart при возникновении ошибки разрешения имён при необходимости измените xdebug.client_host=172.19.0.1 в xdebug.ini