XSS: Reflected XSS — Отражённые межсайтовые сценарии

Источник: «Reflected XSS»
В этой статье мы рассмотрим отражённые межсайтовые сценарии, влияние отражённых XSS-атак и выясним как найти отражённые XSS-уязвимости.

Что такое отражённые межсайтовые сценарии

Отражённые межсайтовые сценарии (или XSS) возникает, когда приложение получает данные в HTTP-запросе и включает эти данные в немедленный ответ небезопасным способом.

Предположим на веб-сайте есть функция поиска получающая введённый пользователем поисковый запрос в URL параметр:

https://insecure-website.com/search?term=gift

Приложение повторяет указанный поисковый запрос в ответе на этот URL:

<p>You searched for: gift</p>

Предполагая, что приложение не выполняет никакой другой обработки данных, злоумышленник можем построить атаку следующим образом:

https://insecure-website.com/search?term=

Этот URL приводит к следующему ответу:

<p>You searched for: <script>/* Bad stuff here... */</script></p>

Если другой пользователь запрашивает URL-адрес злоумышленника, то сценарий, предоставленный злоумышленником, будет выполняться в браузере пользователя-жертвы в контексте его сеанса с приложением.

Влияние Отражённых XSS атак

Если злоумышленник может управлять сценарием выполняющимся в браузере жертвы, то, как правило, он может полностью скомпрометировать этого пользователя. Помимо прочего, злоумышленник может:

Существую различные способы, с помощью которых злоумышленник может побудить пользователя-жертву сделать запрос, который он контролирует, для проведения отражённой XSS атаки. К ним относятся размещение ссылок на веб-сайте контролируемом злоумышленником, или на другом веб-сайте, который позволяет создавать контент, или путём отправки ссылки по электронной почте, в твиттере или другом сообщении. Атака может быть направлена непосредственно против известного пользователя или может быть неизбирательной атакой против любых пользователей приложения.

Необходимость во внешнем механизме доставки для атаки означает, что влияние отражённого XSS, как правило, менее серьёзно, чем сохранённого XSS, где автономная атака может быть осуществлена внутри самого уязвимого приложения.

Отражённый XSS в различных контекстах

Существует множество разновидностей отражённых межсайтовых сценариев. Расположение отражённых данных в ответе приложения определяет, какой тип полезной нагрузки требуется для их использования, а также может повлиять на воздействие уязвимости.

Кроме того, если приложение выполняет какую-либо проверку или другую обработку отправленных данных до их отражения, это, как правило, влияет на то, какой тип полезной нагрузки XSS необходим.

Как найти и протестировать Отражённые XSS уязвимости

Большинство отражённых уязвимостей межсайтовых сценариев можно быстро и надёжно найти с помощью сканера уязвимостей.

Ручная проверка Отражённых XSS уязвимостей включает следующие шаги:

Общие вопросы от отражённых межсайтовых сценариях

В чём разница между Отражённым XSS и Сохранённым XSS?

Отражённый XSS возникает, когда приложение получает некоторые данные из HTTP-запроса и встраивает эти данные в немедленный ответ небезопасным способом. С [Сохранённым XSS](/articles/security/stored-xss/) приложение вместо этого сохраняет ввод и встраивает его в более поздний ответ небезопасным способом.

В чём разница между Отражённым XSS и Self-XSS?

Собственный XSS (Self-XSS) включает поведение приложения, аналогичное обычном Отражённому XSS, однако его нельзя запустить обычными способами с помощью созданного URL-адреса или междоменного запроса. Вместо этого уязвимость сработает только в том случае, если жертва сама отправит полезную нагрузку XSS из своего браузера. Self-XSS атака обычно включает в себя социальную инженерию жертвы, чтобы она вставила некоторые данные, предоставленные злоумышленником, в свой браузер. Поэтому это считается малоэффективной проблемой.

Дополнительные материалы

Предыдущая Статья

XSS: Межсайтовые сценарии

Следующая Статья

XSS: Stored XSS — Сохранённые межсайтовые сценарии