Войти
ГлавнаястатьиПрограммирование

Что надо знать про Cookie файлы с флагом HttpOnly

Просмотрено 393 раза Добавлено 5 месяцев назад

Приветствую, товарищи разработчики! Совсем недавно я заметил что не все Cookie файлы показываются через консоль разработчика в браузере, а именно преимущественно через java script.

Как получить Cookie файлы в консоли

Через консоль или скрипт на java script можно получить куки файлы без флага HttpOnly.

Например команда в консоли, выведет все доступные Cookie:

document.cookie
Как выглядит вывод доступных cookie в консоли

Несмотря на то, что файлы cookie HttpOnly не могут быть прочитаны с помощью JavaScript, все же можно перезаписать файлы cookie HttpOnly с помощью JavaScript.

Файлы cookie — это небольшие фрагменты данных, которые браузер отправляет с каждым запросом. Чтобы снизить риск межсайтового скриптинга (XSS), файлы cookie можно пометить как HttpOnly. Таким образом, значение cookie не может быть прочитано из JavaScript. Файлы cookie HttpOnly по-прежнему отправляются из браузера на сервер, но внутри браузера они не читаются JavaScript. Однако файлы cookie, помеченные как HttpOnly, по-прежнему можно перезаписать.

Перезапись Cookie файлов

Браузеры имеют ограничение на количество хранимых файлов cookie. Количество файлов cookie, которые может хранить домен, варьируется в зависимости от браузера, но обычно ограничивается несколькими сотнями файлов cookie. Когда записывается больше файлов cookie, самые старые файлы cookie удаляются. Установив множество файлов cookie, приложение может заставить браузер удалить старые файлы cookie.

Это работает даже с JavaScript, а также удаляет файлы cookie HttpOnly. Таким образом, установив множество файлов cookie, сценарий может удалить файлы cookie HttpOnly. После этого можно установить новый файл cookie с тем же именем, отличный от HttpOnly, что фактически перезапишет файл cookie HttpOnly.

Пример

Код примера для перезаписи cookie

Во-первых, эта страница устанавливает файл cookie HttpOnly, если он еще не существует:

setcookie($cookie_name, $cookie_name, 0, "", "", false, true);

Затем, когда вы нажимаете кнопку, он записывает 700 файлов cookie с помощью JavaScript.

Это заставит браузер удалить исходный файл cookie HttpOnly, поскольку браузер не будет хранить такое количество файлов cookie для одного домена. Это означает, что браузер не знает, что файл cookie был HttpOnly, и мы можем перезаписать его с помощью JavaScript:

document.cookie = "cookie_name =overwritten by JavaScript";

Несмотря на то, что HttpOnly обеспечивает некоторую защиту от JavaScript, он не защищает от удаления или перезаписи файла cookie.

Поделись страницей

Эдуард Шепелев
Автор статьи
393
Приватный раздел статей
Мы отобрали статьи со всего интернета, чтобы вы смогли не только сэкономить свои деньги, но и заработать, а также множество других полезных материалов!
Статьи по теме
Другие публикации автора
Недавно добавленные
Нет комментариев
Будьте первым, кто оставит свое мнение!
Только полноправные пользователи могут оставлять комментарии.
Войдите, пожалуйста.
Войти через

Статьи

Сообщества

Красивые порно рисунки
Секс и разврат в чистом рисованном ввиде
Анекдоты
Юмора много не бывает
Лучшие игры на андройд
Наш рейтинг для вас 📲
Блог Дейлилаф
Мы никогда не забываем, что у вас есть выбор
IQ TEST
Прокачивай голову!
Техника общения
Общение - это тоже искусство 🃏
Новости / BWeek News
Новостное сообщество 🌎
Самые необычные сайты
Разнообразие необычных сайтов
Цитаты
Великие слова, цитаты и афоризмы
На мой взгляд, человек иначе и не может, как быть постоянно на работе. Днем он должен думать о ней, а ночью — она ему снится.
(Генри Форд)