2015-01-26 5 views
0

Мой вопрос различен, он довольно концептуальен. Как и при входе пользователя в систему, сеанс создается на сервере и он хранит уникальный идентификатор для клиента (браузера), что если я копирую этот криптографически подписанный файл cookie и любые ассоциированные данные из браузера, как токен, что приложение использует для распознавания машины, вставить его или создать на другой машине?rails session steal через файлы cookie

Как сервер распознал бы это? Может ли кто-нибудь объяснить мне, сколько вы можете? это поможет

Я попытался найти решение.

или как я могу это обеспечить? :)

+0

Возможный дубликат http://stackoverflow.com/questions/9966306/security-of-cookie-based-sessions –

ответ

1

Насколько я знаю, только идентифицирующий пользователя токен в cookie сеанса Rails идентифицирует пользователя. Отправляя этот токен (который происходит автоматически по каждому запросу), сервер знает, кто вы. Любой, имеющий этот токен, будет обрабатываться сервером так, как если бы он был вами. Это называется Session hijacking.

Есть несколько способов защитить файлы cookie пользователя. Прежде всего, обеспечить кук, установив два флага:

  • secure сообщает браузер, чтобы отправить это печенье только через HTTPS, так что он защищен от кого-то читает ваш трафик (и ваш печенье).
  • HttpOnly указывает браузеру скрыть этот файл cookie с Javascript, что улучшает защиту от XSS (Cross Site Scripting). Злоумышленник может найти способ внедрить какой-то вредоносный Javascript, но браузер не даст ему cookie сеанса.

При установке этих флагов см. the Rails API. Для пользовательских куки это в основном:

cookies[:my_cookie] = { value: '...', secure: true, httponly: true} 

Для настройки куки сессии Rails см this answer.

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

+0

спасибо !!! @codener – kamal

Смежные вопросы