Внедрение XSS разрешает хакерам достичь следующего:
- Увидеть и использовать конфиденциальную информацию пользователей сайта (такую, как, например, куки).
- Сделать пользование ресурсом затруднительным либо невозможным.
- Запустить на веб-ресурсе вредоносное ПО (вирус).
Разумеется, ни один владелец веб-ресурса не будет терпеть подобного на своем сайте. Именно поэтому страницы на стадии создания и продвижения оснащаются инструментами защиты от подобных угроз.
Какими бывают XSS-атаки и как защитить от них веб-ресурс
Прежде всего, необходимо указать на то, что внедренный скрипт может быть как пассивным, так и активным. Чтобы привести в действие пассивный скрипт, от пользователя требуются определенные действия. Например, перейти по указанной ссылке. В свою очередь активные скрипты выполняются автоматически при переходе на любую из страниц веб-ресурса, так как размещаются на сервере.
Скрипт XSS-атаки может быть внедрен разными способами:
- С помощью HTML-тегов, которые размещаются в постах для форматирования контекста.
- Если фильтровать такие сообщения поверхностно, то можно отметить, что тег <script>, который и отправляет хакеру конфиденциальные данные пользователя, просто пропустится.
- Защитой от подобной атаки может служить удаление всех тегов, не принадлежащих к регламентированным.
- Посредством пробелов с фильтрацией регламентированных тегов, то есть значений и наименований атрибутов. Чаще всего вредоносный скрипт внедряется в тег img. Единственной возможной защитой является проверка тегов на использование javascript и data в ссылках.
- С помощью изменения программного кода в Title. Чтобы защититься от этой угрозы, необходимо в рамках поисковика ресурса задавать кодировку страницы до полей, которые заполняются посетителем.
Межсайтовый скрипт может принадлежать как к отложенным, так и к моментальным. В первом случае скрипт располагается в системе какое-то время, после чего внедряется в веб-страницу с помощью временного лага. Что касается моментальных стриптов, то они выполняются в виде ответа на действия пользователя.
Почему необходимо избавляться от XSS скриптов
На стадии продвижения сайта в поисковых системах, XSS скрипты очень затрудняют кормальную индексацию веб-ресурса. Это происходит из-за создания многочисленных страниц. Чтобы оградить веб-ресурс от этого, необходимо прописать инструкции в файле Robots, тем самым запретив добавление страничек в индекс поисковыми ботами.
Общие вопросы о межсайтовом скриптинге
Насколько распространены XSS-уязвимости?
Уязвимости XSS очень распространены, и XSS, вероятно, является наиболее часто встречающейся уязвимостью веб-безопасности.
Насколько распространены XSS-атаки?
Получить надежные данные о реальных XSS-атаках сложно, но они, вероятно, используются реже, чем другие уязвимости.
В чем разница между XSS и CSRF?
XSS заставляет веб-сайт возвращать вредоносный код JavaScript, в то время как CSRF побуждает пользователя-жертву выполнять действия, которые они не собираются делать.
В чем разница между XSS и SQL-инъекцией?
XSS - это клиентская уязвимость, нацеленная на других пользователей приложения, а SQL-инъекция - на серверную уязвимость, нацеленную на базу данных приложения.
Как предотвратить использование XSS в PHP?
Отфильтруйте входные данные с помощью белого списка разрешенных символов и используйте подсказки типов или приведение типов. Экранируйте свои выходные данные с помощью htmlentities и ENT_QUOTES для контекстов HTML или экранирования Unicode JavaScript для контекстов JavaScript.
Как предотвратить использование XSS в Java?
Отфильтруйте свои входные данные с помощью белого списка разрешенных символов и используйте библиотеку, такую как Google Guava, для HTML-кодирования вашего вывода для контекстов HTML или используйте экранирование Unicode JavaScript для контекстов JavaScript.
Тут еще никто ничего не писал, стань первым!