XSS для маленьких
Life-Hack [Жизнь-Взлом]/ХакингВсем привет , сегодня мы с вами поговорим об 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)