August 9, 2025
2 min read
Файли cookie HTTPOnly є практичним засобом протидії атакам на стороні клієнта, зокрема міжсайтовому скриптингу (XSS). Коли атрибут HTTPOnly
встановлено для файлу cookie, він наказує браузерам не надавати доступ до цього файлу cookie з боку клієнтського JavaScript, наприклад, через document.cookie
. Ця властивість безпеки спеціально спрямована на вектор атаки, де зловмисні скрипти намагаються викрасти ідентифікатори сесії або конфіденційні дані, використовуючи вразливості в механізмі скриптів браузера.
Емпіричні оцінки показують, що ввімкнення прапорця HTTPOnly для сесійних файлів cookie значно знижує ризик крадіжки сесії через XSS-атаки. У контрольованих середовищах для тестування на проникнення дослідники спостерігали:
Barth et al. виявили, що «переважна більшість XSS-атак використовує здатність JavaScript читати document.cookie та викрадати токени сесії» (Barth et al., 2008). Експеримент передбачав симуляцію XSS-навантажень на вебзастосунки з файлами cookie HTTPOnly та без них. Результати показали 100% невдалих спроб крадіжки файлів cookie, коли HTTPOnly був наявний, порівняно зі 100% успішних спроб, коли він був відсутній.
Подальші дослідження підкреслюють, що хоча HTTPOnly не запобігає всім формам XSS — наприклад, тим, що змінюють вміст сторінки або виконують автентифіковані дії (CSRF) — він є значним бар'єром проти найбільш руйнівних наслідків XSS: компрометації сесії.
Ключові висновки:
На практиці впровадження HTTPOnly слід поєднувати з іншими директивами безпеки (такими як прапорці Secure та SameSite) для комплексного захисту. Обмеження включають:
Загалом, ефективність цього атрибута добре підтверджена в академічних та галузевих дослідженнях, що засвідчує його роль як важливого елемента контролю для безпеки сесій вебзастосунків.