XSS Auditor як захист від XSS атак
17:22 26.05.2016Продовжуючи тему технологій захисту від Cross-Site Scripting атак, після статей про HttpOnly, метод захисту з JavaScript та X-XSS-Protection, розповім про технологію захисту від XSS атак, що передбачає використання браузерів з XSS Auditor. Дані технології слід застосовувати разом з аудитом безпеки веб сайтів.
Це продовження попередньої статті. Бо технологія XSS Auditor працює в парі саме з заголовком X-XSS-Protection. Який встановлюється на сервері до всіх веб сторінок, які треба захистити від XSS атак на стороні клієнта.
В попередній статті я писав про два режими, але ще є третій режим report, що працює лише в Google Chrome. Це стандартний режим (що не вказується), block (режим блокування відображення сторінки) та report (в цьому випадку сторінка буде відфільтрована для захисту від XSS з повідомленням на вказану адресу).
Веб додаток повинен у своїй відповіді вказати відповідний серверний заголовок:
X-XSS-Protection: 1
X-XSS-Protection: 1; mode=block
X-XSS-Protection: 1; report=http:/site/page
Якщо вказати “0″, то захист буде виключено, якщо вказати “1″, то браузер з підтримкою цього заголовка, включить захист від XSS на даній сторінці. Режим захисту може бути стандартний (фільтрація потенційного XSS коду), блокування (що задається параметром mode=block) або фільтрація з рапортом (що задається параметром mode=report).
Даний заголовок був розроблений Microsoft і вперше його підтримка була додана в Internet Explorer 8 в березні 2009. Пізніше Google додала його підтримку в свій браузер Chrome та Apple в свій браузер Safari. В 2010 році була виявлена уразливість в XSS Filter в IE8, що дозволяла виконувати атаки на веб сторінки, що навіть не мали XSS уразливостей (а в наступні роки були виявлені подібні уразливості, що також працювали в Chrome та Safari).
Особливості даної технології:
1. Використання заголовка захищає лише від reflected XSS.
2. Захист працює лише в браузерах, що підтримують заголовок.
3. Можливі методи обходу даної технології, або ж використання її для проведення XSS атак на довільні сайти, як це було виявлено неодноразово.
X-XSS-Protection підтримують наступні браузери:
- Internet Explorer 8+
- Google Chrome 8+
- Google Chrome Mobile
- Apple Safari 5+
- Safari Mobile
Дана технологія захисту від XSS атак має свої достоїнства та недоліки. Як я вже казав, жодна з цих допоміжних технологій не може дати 100% гарантію захисту від XSS атак і вирішує лише частину проблеми, тільки виявлення та виправлення всіх XSS уразливостей дасть надійних захист. Але ці технології можна використати в парі з проведенням аудиту безпеки своїх сайтів, як додатковий елемент безпеки.