Публичная контактная форма 299Ko (plugin/contact/controllers/ContactController.php, home()) устанавливает необработанные значения полей POST (имя, имя, адрес электронной почты, сообщение) в шаблон страницы без очистки. Функция вывода переменных механизма шаблонов (common/Template.php, _show_var()) отображает значения без вызова htmlspecialchars(), а шаблон приемника (contact.tpl) выводит эти значения в неэкранированном виде в атрибут HTML и текстовую область. Злоумышленник, не прошедший проверку подлинности, может отправить полезную нагрузку, такую как name="><script>alert(document.domain)</script>, чтобы добиться отраженного XSS против любого посетителя, который отправляет форму или его обманом заставляют автоматически отправлять форму, включая целевого администратора, что позволяет кражу токена сеанса.
Показать оригинальное описание (EN)
299Ko's public contact form (plugin/contact/controllers/ContactController.php, home) sets raw POST field values (name, firstname, email, message) into the page template with no sanitization. The template engine's variable output function (common/Template.php, _show_var) echoes values with no htmlspecialchars call, and the sink template (contact.tpl) outputs these values unescaped into an HTML attribute and a textarea.
Характеристики атаки
Последствия
Строка CVSS v3.1