Якщо ваш браузер підтримує HttpOnly і ви ввімкнули його для файлів cookie, сценарій на стороні клієнта НЕ повинен мати можливість читати АБО записувати в цей файл cookie, але браузер усе ще може надсилати його значення на сервер. Однак деякі браузери лише блокують доступ на стороні клієнта для читання, але не забороняють доступ для запису.
Отримання файлів cookie із HTTP-запиту
- Використовуйте метод getCookies() HttpServletRequest, щоб отримати масив усіх файлів cookie в запиті.
- Перебирайте записи масиву, викликаючи getName() для кожного Cookieobject, доки не знайдете файл cookie, який хочете отримати.
Наприклад, файли cookie, які зберігають сесії користувача, повинні мати встановлений атрибут HttpOnly — було б дуже небезпечно робити їх доступними для JavaScript. Цей запобіжний захід допомагає пом'якшити атаки міжсайтових сценаріїв (XSS)..
Веб-платформа покладається на ту саму модель походження, і сайти можуть читати власні файли cookie. Цей API призначений для об’єктів із підвищеними привілеями (тобто розширень) для читання та запису файлів cookie з різних джерел.
Однією з найпоширеніших уразливостей середнього рівня ризику є вразливість «Відсутній атрибут файлу cookie httpOnly». Простіше кажучи, це вразливість виникає, коли в програмі, яка генерує файли cookie сеансу, відсутній атрибут cookie "httpOnly"..
Якщо ваш браузер підтримує HttpOnly і ви ввімкнули його для файлів cookie, сценарій на стороні клієнта НЕ повинен читати АБО записувати в цей файл cookie, але браузер усе ще може надсилати його значення на сервер. Однак деякі браузери лише блокують доступ на стороні клієнта для читання, але не забороняють доступ для запису.
Це буде простий процес із наступними кроками.
- Отримайте кожну окрему пару ключ-значення з рядка cookie за допомогою string. split(“;”).
- Відокремте ключі від значень у кожній парі за допомогою рядка. split(“=”).
- Створіть об’єкт з усіма парами ключ-значення та поверніть об’єкт.