ТОП-5 Защит от XSS-атак

Защита от XSS атак
Защита от XSS атак

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

В этой короткой статье я расскажу о лучших способах защиты от XSS-атак. Но для начала в двух словах об XSS-уязвимостях.

Рекомендую прочитать статью «WPAD уязвимость».

XSS уязвимость

Что такое XSS?

XSS — это уязвимость веб-страниц, возникающая в результате попадания в них пользовательских JS-скриптов.

Где и как используют XSS уязвимости?

Вот несколько самых популярных направлений:

Доступ
Одна из главных целей XSS заключается именно в том, чтобы получить cookie жертвы и проникнуть в ее аккаунт. Для этого необходимо найти соответствующую уязвимость, вставить на страницу скрипт отправки cookie на снифер, а затем использовать сграбленные cookie для доступа на нужный сайт.

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

Рабочая сила
Через хитрые комбинации JavaScript + PHP проводят банальную прогрузку капчи для ее халявной расшифровки юзерами чужого ресурса. Для этого атакованная страница блокируется до тех пор, пока пользователь не введет код с нее.

CSRF
Иногда, даже имея логин и пароль/сессию, хакер не может попасть в аккаунт, так как привязка может быть к ip-адресу, браузеру и другим данным. Поэтому XSS в чистом виде не проходит. Но, зная конструкцию сайта, злоумышленник все равно сможем попасть в аккаунт с помощью межсайтовой подделки запроса.

Защита от XSS атак

ТОП-5 защит от XSS уязвимостей:

1. Защита функцией htmlspecialchars().
Данная функция преобразует переданный ей аргумент в HTML-сущности, причем происходит преобразование именно тех символов, которые являются потенциально небезопасными.

2. Защита функцией strip_tags().
В отличие от htmlspecialchars() данная функция удаляет из строки аргумента только сами теги, причем второй аргумент служит для указания исключений, которые не нужно удалять. Через нее спокойно проходят строки: <, >, < img.

3. BB-коды.
Пропуск только определенных тегов, иногда совсем в иной форме, чем позволяют стандарты HTML

4. Регулярные выражения.
Кто-то регулярки любит, кто-то нет, а кто-то даже предпочитает написать свою собственную, через которую не проходят потенциально опасные символы или теги. Удобно в случае исключения аргументов из внедряемого тега без изменения HTML-сущности оставшейся части.

5. Самописные функции.
Всевозможные рекурсивные парсеры строк, которые очень гибко борются с XSS, также довольно популярны. Хотя в самописных функциях гораздо чаще можно найти какую-либо уязвимость.

Вас также может заинтересовать статья «Атака SMB relay и как от нее защититься». А на сегодня все. Всем удачи и информационной безопасности!

ВКонтакте
OK
Telegram
WhatsApp
Viber

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *