Что такое XSS (межсайтовый скриптинг)?
Этичный Хакер![](/file/3ea45295425cffc83a6a8.jpg)
XSS - это очень часто используемый тип уязвимости, который очень широко распространен и легко обнаруживается, а также является одной из важных уязвимостей в OWASP TOP 10.
Что такое XSS (межсайтовый скриптинг)?
Злоумышленник может внедрить ненадежные фрагменты JavaScript в ваше приложение без проверки. Затем этот JavaScript выполняется жертвой, которая посещает целевой сайт. Он подразделяется на три типа.
- Отраженный XSS
- Сохраненный XSS
- XSS на основе DOM
В отраженном XSS злоумышленник отправляет жертве ссылку на целевое приложение по электронной почте, в социальных сетях и т. Д. В эту ссылку встроен скрипт, который выполняется при посещении целевого сайта.
В сохраненном XSS злоумышленник может внедрить постоянный скрипт на целевой веб-сайт, который будет выполняться при посещении его кем-либо.
При использовании XSS на основе DOM HTTP-запрос не требуется, скрипт вводится в результате изменения DOM целевого сайта в коде на стороне клиента в браузере жертвы и затем выполняется.
Понимание XSS – межсайтовый скриптинг
http://test.book.com/search?q=book Искал <strong>book</strong> <script>alert(document.cookie)</script>
Представьте, что у нас есть такой URL-адрес, и мы ищем book, и он будет отражать следующий запрос в браузере. Мы доверяем домену и мы доверяем ресурсу, вводимому на странице поиска, так что теперь ненадежной частью book была строка запроса, введенная браузером, злоумышленник может манипулировать значением как угодно, например, они изменяются следующим образом <script>alert(document.cookie)</script>. Это всего лишь простой запрос для всплывающего предупреждения на веб-странице, если кто-то запросил страницу веб-сайта злоумышленников и передал document.cookies в качестве параметра на веб-сайте, тогда злоумышленник может собрать все файлы cookie на веб-сайте. Если у них есть файлы cookie аутентификации, они могут просто перехватывать сеансы пользователя.
![](https://i0.wp.com/gbhackers.com/wp-content/uploads/2016/10/xss1.png?resize=604%2C382&ssl=1)
Потенциальные риски, связанные с межсайтовым скриптингом
Злоумышленник может скомпрометировать или захватить учетную запись пользователя жертвы в приложении. Они могут извлекать данные из целевого веб-приложения, изменять содержимое целевой страницы, перенаправлять жертву на другой вредоносный или поддельный сайт или использовать его в качестве платформы для установки другого вредоносного ПО в системе жертвы.
Последствия любого из вышеперечисленных действий могут серьезно повлиять на вашу способность вести бизнес, ваших клиентов и репутацию вашей организации.
![](https://i1.wp.com/gbhackers.com/wp-content/uploads/2016/10/xss.png?resize=495%2C246&ssl=1)
Защита от межсайтового скриптинга
- Каким входным данным мы доверяем?
- Соответствует ли он ожидаемым шаблонам?
- Никогда просто не отражайте ненадежные данные.
- Это относится и к данным в нашей базе данных.
- Кодирование контекста (Java / атрибут / HTML / CSS).