THELOCALHOST.RU
XSS атака
XSS атака является одним из любимейших видов атак у хакеров. В данной статье мы постараемся в доступной форме разъяснить, что эта за вид атак, как они реализуемы, какие у них последствия, и как же от них уберечься.
Аббревиатура XSS расшифровывается как Cross Site Scripting, или «межсайтовый скриптинг». При этом первую букву С заменили на Х вследствие того, что аббревиатура CSS уже занята, обозначает «Каскадные таблицы стилей» и применяется в веб-программировании.
XSS атака – это атака на уязвимость, которая существует на сервере, позволяющая внедрить в генерируемую сервером HTML-страницу некий произвольный код, в котором может быть вообще все что угодно и передавать этот код в качестве значения переменной, фильтрация по которой не работает, то есть сервер не проверяет данную переменную на наличие в ней запрещенных знаков –, <, >, ’, ”. Значение данной переменной передается от генерируемой HTML-страницы на сервер в скрипт, ее вызвавший путем отправки запроса.
А далее начинается самое интересное для хакера. РНР-скрипт в ответ на данный запрос генерирует HTML-страницу, в которой отображаются значения требующихся хакеру переменных, и отправляет данную страницу на браузер хакера.
То есть, говоря проще, XSS атака – это атака с помощью уязвимостей на сервере на компьютеры клиентов.
XSS атака чаще всего используется для кражи Cookies (или куки, как их произносят по-русски). В них хранится информация о сессии пребывания пользователя на сайтах, что и бывает нужным хакерам для перехвата управления личными данными пользователя на сайте в пределах, пока сессия не будет закрыта сервером, на котором размещен сайт. Помимо этого в Cookies хранится зашифрованный пароль, под которым пользователь входит на данный сайт, и при наличии необходимых утилит и желания хакерам не доставляет особого труда расшифровать данный пароль. А чем это чревато, думаю, всем понятно.
Чаще всего, как я упоминал выше, XSS атаки используются для кражи cookies (в народе – куки). В них хранятся сессии пребывания пользователя на том или ином сайте, этим злоумышленник и пользуется. Таким способом можно находится, например, на форуме, под аккаунтом другого человека. Так же cookies содержат зашифрованный пароль к аккаунту пользователя, который “сетевой хулиган” может с легкостью расшифровать и получить постоянный и ничем неограниченный доступ.
Теперь опишем другие возможности XSS атак (конечно при условии их успешного проведения).
- Возможно при открытии страницы вызвать открытие большого количества ненужных пользователю окон.
- Возможна вообще переадресация на другой сайт (например, на сайт конкурента).
- Существует возможность загрузки на компьютер пользователя скрипта с произвольным кодом (даже вредоносного) путем внедрения ссылки на исполняемый скрипт со стороннего сервера.
- Зачастую происходит кража личной информации с компьютера пользователя, помимо Cookies в качестве объекта кражи выступает информация о посещенных сайтах, о версии браузера и операционной системе, установленной на компьютере пользователя, да к тому же еще и плюсуется IP-адрес компьютера пользователя.
- XSS атака может быть проведена не только через сайт, но и через уязвимости в используемом программном обеспечении (в частности, через браузеры). Поэтому рекомендуем почаще обновлять используемое программное обеспечение.
- Также возможно проведение XSS атак через использование SQL-кода.
Как мы видим из всего вышесказанного, возможностей у XSS атак достаточно много. Злоумышленник может овладеть вашей личной информацией вплоть до получения паролей доступа к сайтам, а это очень неприятно. К тому же XSS атака наносит вред исключительно клиентским машинам, оставляя сервер в полностью рабочем состоянии, и у администрации различных серверов порой мало стимулов устанавливать защиту от этого вида атак.
По данным Википедии XSS на сегодняшний день составляют около 15% всех обнаруженных уязвимостей.
Различают XSS атаки двух видов: активные и пассивные. При первом виде атаки вредоносный скрипт хранится на сервере и начинает свою деятельность при загрузке страницы сайта в браузере клиента. При втором виде атак скрипт не хранится на сервере и вредоносное действие начинает выполняться только в случае какого-либо действия пользователя, например, при нажатии на сформированную ссылку.
Напоследок дадим несколько советов веб-программистам и администраторам по предотвращению проведения XSS атак.
- Запретите включение напрямую параметров $_GET, $_POST, $_COOKIE в генерируемую HTML-страницу. Рекомендуем использовать альтернативные функции и параметры.
- Запретите загрузку произвольных файлов на сервер во избежание загрузки вредоносных скриптов. В частности, рекомендуется запретить загрузку на сервер файлов различных типов скриптов и HTML-страниц.
- Все загруженные файлы храните в базе данных, а не в файловой системе. Структуры данных это не нарушает (даже наоборот), а вот возникающих проблем может быть при использовании этого подхода значительно меньше.
- Расширяя функциональность своего сайта, помните, что при этом возрастает возможность проведения XSS атак, так что расширяйте ее с крайней осторожностью и все время тестируйте.
5 лет назад
Спасибо, очень интересная тема. Я вот все ищу стандартного решения, но так и не нахожу.
4 года назад
самый просто метод решения xss уязвимости — установка фильтров(в основном на символы /.,*) на поля активные для ввода данных.
5 лет назад
Насколько сайты на стандартном и бесплатном движке Joomla подвержены таким атакам ?
Существуют ли способы «усилить» его ?
5 лет назад
Отвечу честно, проверить Джумлу на предмет уязвимости мне еще не приходилось.
Можете зайти на сайт xakep.ru и посмотреть там в разделе уязвимости, наверняка что — нибудь найдете.
По поводу усилить. Способы есть и достаточно много. Гуглите на тему защита Apache. Про настройку модуля security. И защита joomla. Наверняка есть соответствующие модули расширения, как и для WordPress.