#1 RX pharmacy affiliate program!
Jan42009

XSS-атаки. Проинформирован, значит защищен

ХакерРешил освятить эту тему, поскольку считаю, что это один из простейших и наиболее часто используемых видов хакерских атак. Возможно кто-то об этом уже читал, но не знает, что благодаря XSS-атакам можно не только красть cookies, этот способ имеет гораздо большие возможности. Давайте посмотрим…

Аббревиатура XSS расшифровывается как Сross Site Sсriрting (межсайтовый скриптинг). Заметно, что первую букву “C” меняют на “X”, ибо сокращение CSS было придумано гораздо раньше и означает оно Сasсading Style Sheets (каскадные таблицы стилей), технология, которая внедряется для более качественного и удобного оформления HTML-страниц. Возможно здесь возникнет вопрос, почему же заменили именно на букву “X”, а не на каку-либо другую? Да потому что первое слово в межсайтовом скриптинге – “Cross”, означает крест, или перекресток.

XSS – это уязвимость на сервере, которая позволяет внедрить в генерируемую скриптами на сервере HTML-страницу произвольный код, путём передачи его в качестве значения нефильтруемой переменной. Обращаем внимание на то, что внедрение идет не в скрипт, в отличии от других методов. Нефильтруемой является переменная, которая не проверяется сервером на наличие запрещенных знаков. Это могут быть – <,>,’,”, но есть и другие. Значение этой переменной передается от HTML-страницы, которая загружается в браузере пользователя в php-скрипт, путем передачи через GET или POST запросы. GET – это запрос, передаваемый в самом URL, а POST – в теле запроса к странице. Следовательно POST-запрос передает наши переменные через массив, который не отображается в адресной строке браузера. В случае с GET-запросом, дела обстоят немного иначе и он обнаруживает себя вот так:

  • http://www.oursite.com/1.php?name=News&file=artiсle&sid=2879&mode=1&order=0&thold=0

Это означает, что переменной $name присваивается значение “News”, переменной $file значение “article” и далее по аналогии $sid=2879, $mode=1, $order=0, thold=0. Получается что использовать GET-запрос удобнее, поэтому хакер сохраняет страницу “сайта-жертвы” и в строку типа POST заменяет на GET. Далее дело техники – php-скрипт генерирует HTML-страницу, в которой без труда (потому как фильтрация отсутствует) выводит одно из переданных значений.

XSS атакаЧаще всего, как я упоминал выше, XSS-атаки используются для кражи cookies (в народе – куки). В них хранятся сессии пребывания пользователя на том или ином сайте, этим злоумышленник и пользуется. Таким способом можно находится, например, на форуме, под аккаунтом другого человека. Так же cookies содержат зашифрованный пароль к аккаунту пользователя, который “сетевой хулиган” может с легкостью расшифровать и получить постоянный и ничем неограниченный доступ.

А теперь о других возможностях XSS-атак:

1. Допустим кто-то поставил себе за цель навредить сайту-конкуренту. Здесь могут быть использованы всякие подлости вроде вызова большого количества ненужных окон при каком-либо действии пользователя, например при клике на определенную область страницы, или вообще при ее открытии. Еще методом XSS-атак, можно организовать переадресацию посетителя на другой сайт.

2. Есть такая возможность как внедрение ссылки на исполняемый скрипт, а не всего кода в нефильтрованную переменную. В таком случае пользователь перенаправляется на сервер хакера, а конкретно на страницу с вредоносным скриптом. Такая ссылка может выглядеть просто: www.server-hackera/script.php, думаю здесь все должно быть ясно. Но это довольно “палевный” способ, посетитель может просто заметить выполнение загрузки вредоносного скрипта и соотвественно отменить ее. А может случиться и еще хуже… Но тут не курсы для хакеров, цель поста – проинформировать людей о возможных атаках, поэтому идем дальше.

3. Уязвим может быть не только сайт, но и браузер отдельного пользователя. Кстати лично мне в плане защищенности нравится Mozilla Firefox. Но все же, идеальной защиты не бывает и большинство браузеров являются уязвимыми, поэтому не ленимся проводить обновления нашего програмного обеспечения, в частности того, что касается пребывания в интернете. Кстати, проще всего XSS-атаки выполняются с помощью команды window.location.href, которая может быть внедрена на страницу сайта, будьте внимательнее.

Как видите, возможностей у данного типа атак достаточно много. Хулиган может завладеть вашей личной информацией, вплоть до доступа в административную панель сайта, а может и провести небольшие подлости вроде редиректа на другой узел. К слову, если вы блоггер и в качестве движка используете Wordpress – советую установить плагин защиты от XSS-атак. Называется он “Anti-XSS attack”, не поленитесь и элементарно защитите себя.

----------------------------------

Понравилась статья? Подпишись на обновление блога через RSS или e-mail!

Читайте по этой теме:

  1. Кафевраля 24, 2010

Оставьте комментарий