Способы защиты от XSS Vmeksi 11.07.13, 7:58 Межсайтовый скриптинг (Cross site scripting, XSS) — встраивание нежелательного кода в html-код страниц сайта. XSS можно условно разделить на пассивную и активную формы, которые мы рассмотрим ниже. Пассивый XSS Пассивный XSS основан на том, что GET-параметры в ряде случаев становятся частью текста страницы. Например, мыимеем скрипт поиска search.php, содержащий следующий код: // начало скрипта echo ' Вы искали: ' . $_GET['query'] . ' '; // продолжение скрипта, отображение результатов поиска и.т.д ?> Мы видим, что страница содержит заданный поисковойзапрос. Если злоумышленник обратимся к скрипту следующим образом: search.php?query= mywebsite тона странице результатов поиска будет присутствовать ссылка на example.com. Затем злоумышленник сообщит адрес такой страницы результатов поисковым системам, и они будут считать, что ваш сайт ссылкается на expample.comна одной из своихстраниц. Приведеный пример используется недобросовестными поисковыми оптимизаторами для внешних ссылок на свой сайт. В данном случае никакоговзлома не происходит. Пассивный XSS можно использовать и для встраивания javascript-сценариев, похищающих номера сессии, использующиеся для авторизации. Ограниченности пассивного XSS в том, что требуется передать пользователю URL, содержащий специально сформированные GET-параметры. URL часто присылается пользователю в спам-письме, или же пользователь перенаправляется на данный URL с сайта, контролируемого злоумышленником. Активный XSS Активный XSS работает на Web 2.0 сайтах, то есть на сайтах, содержимое которых создают сами пользователи. Нежелательные скрипты помещаются в сообщения на форумах, профиль пользователя или в личные сообщения. Например, в 2008 году на hаbгаhabr.ru получило хождение личное сообщение, которое содержало скрипт, отправляющий данное сообщение друзьям пользователя от его имени. Вредоносный javascript-сценарий обычно передает злоумышленнику номер сессиипользователя и информацию из его cookie,которая позволяет получить контроль над аккаунтом пользователя. Другие виды XSS Среди других видов XSS можно отметить подмену кодировки вформируемом документе. Это возможно при двух условиях: 1. пользовательская информация попадаетв тег