Есть ли опасность xss в данном коде?

Часто вижу на микро-сайтах/лендингах такой код отправки формы:

<form action="mail.php">
	<input type="text" name="name">
	<input type="text" name="phone">
	<input type="submit" value="Отправить">
</form>


//mail.php
$name  = $_POST['name'];
$phone = $_POST['phone'];

mail('admin@mail.ru', 'subject', $name . ' ' . $phone, "MIME-Version: 1.0\r\n"."Content-type: text/html; charset=utf-8\r\n");


Есть ли здесь опасность для XSS-атаки или другой, если данные формы нигде не выводятся на сайте, а только отправляются на почту?
  • Вопрос задан
  • 249 просмотров
Решения вопроса 2
ValdikSS
@ValdikSS
В вашем примере можно внедрить произвольный HTML в тело email-письма. Вряд ли на любом мало-мальски серьезном почтовике получится выполнить именно XSS, но внедрить отслеживающую картинку, вставить сторонние ресурсы, осуществлять произвольное форматирование — без проблем.
Ответ написан
Комментировать
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
Вот определение:
XSS (англ. Cross-Site Scripting — «межсайтовый скриптинг») — тип атаки на веб-системы, заключающийся во внедрении в выдаваемую веб-системой страницу вредоносного кода (который будет выполнен на компьютере пользователя при открытии им этой страницы) и взаимодействии этого кода с веб-сервером злоумышленника. Является разновидностью атаки «Внедрение кода».


Вот ваша формулировка:
если данные формы нигде не выводятся на сайте


Кажется очевидным, что она определению противоречит.
Однако, на проекте может быть, например, обработчик ошибок, который может выводить данные из POST, не обрабатывая их. Но это уже противоречит вашей формулировке.
Есть ещё вариант XSS в почтовом клиенте, но их не дураки делают и такие детские шалости там обрабатываются.

Нет, если введённые данные нигде на странице не выводятся, то XSS через них не осуществить.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Adamos
@Adamos
Вектора атаки не вижу. А вот прекрасную возможность проанализировать ввод и вместо отправки писем засунуть этот ввод обратно в задницу любого, кто впихнет в эту форму скрипты или ссылки - это да. "Любой" не заставит себя ждать, кстати - боты заваливают своими рекламными простынями любую обнаруженную форму, даже не глядя, что в ней предлагается. Хоть форму заявления на добровольную эвтаназию опубликуй.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы