XSS для маленьких

XSS для маленьких

UnderMind

Всем привет , сегодня мы с вами поговорим об XSS, а точнее о том, как можно с помощью XSS потерять доступ к вашем интернет ресурсу.

XSS (cross-site scripting др. межсайтовый скриптинг) - вид атаки на веб-системы, заключается в том, что мы внедряем вредоносный код, который будет выполнен при открытии пользователем этой страницы. Назван XSS, чтобы не путать c CSS.

Данный тип атаки находится на 3 месте в рейтинге OWASP top 10. Многие не уделяют должного внимания данному виду уязвимости, но с помощью этой атаки можно украть cookie администратора | провести DoS-атаку, а где нет защиты от CSRF (cross-site request forgery), хакер может выполнить вообще любые действия доступные пользователю.


Виды XSS

Существует несколько видов XSS: 

  • Хранимые. Вредоносный код сохраняется на сервере и загружается с него каждый раз, когда пользователи запрашивают отображение той или иной страницы. Чаще всего проявляются там, где пользовательский ввод не проходит фильтрацию и сохраняется на сервере: форумы, блоги, чаты, журналы сервера и т.д. Например, скрипт <img src="http://exmple.com/">, оставленный на странице сайта с очень высокой посещаемостью, может спровоцировать DDoS-атаку на указанный веб-ресурс.
  • Отображаемые. Вредоносная строка является частью запроса жертвы к веб-сайту. Сайт принимает и вставляет эту вредоносную строку в отправляемый ответ обратно пользователю. Например, при переходе пользователем по ссылке: http://example.com/q=<href='a' style='font-size:500px'> на странице отобразится гиперссылка, при наведении на которую выполнится скрипт alert(‘XSS’). Но для этого необходимо каким-то образом (например, с использованием социальной инженерии) заставить пользователя ввести эту ссылку в адресной строке.
  • XSS в DOM-модели. Представляет собой вариант как хранимой, так и отображаемой XSS-атаки. В данном случае вредоносная строка не обрабатывается браузером жертвы, пока настоящий JavaScript веб-сайта не выполнится. 


Практика :)

Для примера я возьму укр сайт для интерактивного обучения:

http://interactive.ranok.com.ua

Смотрим сайт:

Видим строку поиска, потенциальная xss. Давайте попробуем что-то найти:

Давайте посмотрим код элемента:

Видим:

<input type="search" name="search" value="@win_def" id="search">

Запрос составляем таким образом:

@win_def" *закрываем действующий тег* id="search">наш_пейлоад

Получается как-то так:

@win_def" id="search"><script>alert("Subscribe to @win_def")</script>

Вставляем в строку поиска:

Смотрим результат:

Сайт уязвим к XSS)

НАШИ ПРОЕКТЫ


Report Page