XSS уязвимость

XSS уязвимость (атака) — англ. Сross-Site Sсriрting — межсайтовый скриптинг. Правда, XSS не соответствует этому термину, но аббревиатура CSS уже была занята более мирным делом, и слово Cross ассоциировали с буквой X.

Как работает XSS

Смысл уязвимостей этого вида в том, что уязвимый скрипт может выводить на странице GET-параметры, не проверяя их. В результате можно подобрать параметры скрипта так, чтобы при его вызове сформировалась страница с нужным злоумышленнику содержанием. Например, вставить в параметры HTML-код или код JavaScript, который и будет в результате выведен на странице.

Почему он называется межсайтовым (Cross-Site)? Да потому, что на сайте-жертве такой ссылки нет и быть не может — поэтому ссылку размещают на каком-нибудь другом сайте, а нужный результат перешедший по этой ссылке посетитель увидит на сайте-жертве. Разумеется, самым распространенным применением XSS тут же стало формирование ссылок на уязвимых сайтах.

Пример XSS-уязвимости

Больше всего эксплуатировались такие уязвимости в скриптах поиска по сайту. Как правило, поисковая форма передает запрос методом GET — то есть, отправляет текст запроса в параметре URL. На странице результатов поиска обычно выводится текст запроса — «Результаты поиска по запросу …». А если ничего не нашлось, на странице результатов будет красоваться надпись «По запросу … ничего не найдено». Остается только привернуть такой параметр, чтобы вместо многоточия в этом сообщении появилась активная ссылка. Это очень просто сделать, если скрипт поиска не проверяет запрос на наличие HTML-тегов.

Устранить XSS-уязвимость тоже несложно — скрипт поиска должен убрать все теги из полученного в GET-параметре текста, прежде чем что-то искать по этому запросу.

Это незавершенная статья.
Вы можете помочь проекту, добавив в статью информацию, иллюстрации или приведя ее в соответствие с реальностью и правилами оформления

xss-уязвимости.txt · создано: 2013/01/06 13:15 — donc · Последние изменения: 2013/01/11 05:31 — Spinne
Наверх
Driven by DokuWiki