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

0

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

Мой вопрос заключается в следующем: почему не может нападающий взять хэш-дайджест запоминающего токена и подписанный идентификатор пользователя, создать новые файлы cookie в своем браузере и заполнить эти куки с помощью украденных хеш-дайджестов? потому что, насколько я понимаю, не был бы BCrypt в аутентифицированном? метод поиска файлов cookie в вашем браузере и расшифровки их, когда они видят украденные хеш-дайджесты? или есть ли способ определить, были ли файлы cookie созданы пользователем или сделаны на сайте?

  def current_user
    if (user_id = session[:user_id])
      @current_user ||= User.find_by(id: user_id)
    elsif (user_id = cookies.signed[:user_id])
      user = User.find_by(id: user_id)
      if user && user.authenticated?(cookies[:remember_token])
        log_in user
        @current_user = user
      end
    end
Теги:
cookies
hash

1 ответ

1
Лучший ответ

Если вы храните только хеш маркера памяти в базе данных, и злоумышленник может украсть этот хэш из базы данных, он все равно не знает о самом марке.

Файл cookie будет содержать исходный токен, и браузер отправит его на сервер. Затем сервер снова будет использовать этот оригинальный токен и сравнить его с хешем из базы данных.

Если вы знаете только хеш и не можете получить исходный токен с ним, то вы не можете подготовить файл cookie, потому что ему нужен оригинальный токен. Криптографические алгоритмы хеширования, такие как SHA512, не позволят "декодировать" хэш.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню