Что такое межсайтовый скриптинг?

Межсайтовый скриптинг - атака на пользовательский компьютер, реализуемая путём вставки злоумышленником вредоносного скрипта в просматриваемую пользователем web-страницу.

Мы уже говорили в рубрике F.A.Q. о таком способе взлома сайтов, как SQL-инъекция. Наверное, вы догадываетесь, что этот способ, хоть он и удобен, но далеко не одинок в арсенале профессиональных взломщиков (да и любителей, впрочем, тоже). Межсайтовый скриптинг - ещё один распространённый приём злоумышленников, и весьма полезно знать, что именно он собой представляет.

Межсайтовый скриптинг - атака на пользовательский компьютер, реализуемая путём вставки злоумышленником вредоносного скрипта в просматриваемую пользователем web-страницу. По-английски для обозначения межсайтового скриптинга часто используется аббревиатура XSS. Межсайтовый скриптинг крайне опасен для посетителей web-сайтов, поскольку он, как правило, не распознаётся антивирусными программами и файрволами, и надёжной защитой от него может служить разве что запрет на выполнение браузером скриптов, что весьма неудобно для пользователя. Фактически, конечный пользователь практически не имеет других средств для защиты от подобных атак - оборона от них является предметом заботы со стороны создателей сайтов, особенно тех, на которых пользователи сами могут оставлять какую-либо информацию.

Межсайтовым называется подобный метод проведения атак по причине того, что сервер, который используется хакером из-за наличия в нём уязвимостей, сам, как правило, даже и не подозревает о том, что через него проводится атака: если в результате неё у пользователя, скажем, крадутся какие-либо персональные данные (номера кредитных карт, логины, пароли), то они передаются на третий сервер, владельцем которого является взломщик.

Для межсайтового скриптинга могут использоваться не все страницы, на которых пользователи вводят какую-либо информацию, а только те, которые не фильтруют ту самую информацию, которую вводит пользователь. Принцип здесь действует тот же, что и при SQL-инъекции - то есть, если злоумышленник сможет изменить с помощью запроса параметры страницы таким образом, что на ней появится вредоносный код, то только в этом случае атака будет успешной. Соответственно, если выполняются специальные проверки данных, вводимых пользователем, и их конвертация в текст, который не может исполняться как скрипт, то злоумышленник не сможет успешно провести XSS-атаку с использованием этого сайта. Большинство современных движков форумов имеют защиту от межсайтового скриптинга.

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

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

Вадим СТАНКЕВИЧ,
dreamdrusch@tut.by

Версия для печатиВерсия для печати

Номер: 

32 за 2008 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!