XSS – это очень распространенный тип уязвимости, который очень широко распространен и легко обнаруживаем, а также является одной из важных уязвимостей в OWASP TOP 10.
Что такое XSS (межсайтовый скриптинг)?
Злоумышленник может внедрить ненадежные фрагменты JavaScript в ваше приложение без проверки.
Этот JavaScript затем выполняется жертвой, которая посещает целевой сайт.
Эта уязвимость подразделяется на три типа:
- Отраженный XSS или непостоянный
- Хранящийся XSS или постоянный
- Основанный на DOM XSS
В отраженном XSS злоумышленник отправляет жертве ссылку на целевое приложение по электронной почте, через социальные сети и т. д.
В эту ссылку встроен скрипт, который выполняется при посещении целевого сайта.
В сохраненном XSS злоумышленник может установить постоянный сценарий на целевом веб-сайте, который будет выполняться, когда кто-либо посещает его.
При использовании XSS на основе DOM HTTP-запрос не требуется, сценарий внедряется в результате изменения DOM целевого сайта в коде на стороне клиента в браузере жертвы и затем выполняется.
Понимание XSS – межсайтового скриптинга
http://test.itsecforu.ru/search?q=itsecforu Searched for <strong>itsecforu.ru/strong> <script>alert(document.cookie)</script>
Представьте, что у нас есть такой URL, и мы ищем itsecforu, и он отобразит следующий запрос в браузере.
Мы доверяем домену и доверяем ресурсу, вводимому на странице поиска, поэтому теперь ненадежная часть itsecforu была строкой запроса, введенной браузером, злоумышленник может манипулировать значением как угодно, например, они меняют его вот так <script>alert(document.cookie)</script>
Это простой запрос для всплывающего оповещения на веб-странице, если некоторые запрашивают страницу веб-сайта злоумышленников и передают document.cookies в качестве параметра на веб-сайте, то злоумышленник может собрать все файлы cookie на веб-сайте.
Если они получили cookie-файлы аутентификации, они могут просто перехватить пользовательские сессии.
Потенциальные риски, связанные с межсайтовым скриптингом
Злоумышленник может скомпрометировать или захватить учетную запись жертвы в приложении.
Они могут извлекать данные из целевого веб-приложения, изменять содержимое целевой страницы, перенаправлять жертву на другой вредоносный или поддельный сайт или использовать ее в качестве платформы для установки другого вредоносного ПО в систему жертвы.
Последствия любого из вышеперечисленных могут серьезно повлиять на вашу способность вести бизнес, ваших клиентов и репутацию вашей организации.
Защита от межсайтового скриптинга
- Какому вводу мы доверяем?
- Придерживается ли он ожидаемых моделей?
- Никогда просто не отражайте ненадежные данные.
- Относится также к данным в нашей базе данных.
- Кодировка контекста (Java / атрибуты / HTML / CSS).
¯\_(ツ)_/¯
Примечание: Информация для исследования, обучения или проведения аудита. Применение в корыстных целях карается законодательством РФ.