Cookiless Session Это риск для безопасности? - PullRequest
4 голосов
/ 15 апреля 2010

http://msdn.microsoft.com/en-us/library/aa479314.aspx

У вас есть пользователь, который успешно вошел в систему с компьютера в Cybercafe, Hacker H может прослушивать сеть и получать sessionID пользователя, может ли H использовать sessionId и действовать как пользователь с другого компьютера?

Может ли H ввести http://folder/(session id)/CreditCardInformation.aspx, чтобы узнать номер кредитной карты пользователя?

Ответы [ 4 ]

4 голосов
/ 15 апреля 2010

Ну, это зависит от многих вещей.

По сути, ДА, если вы знаете URL, вы можете увидеть, что стоит за ним. Хакер сможет делать все, что захочет, когда у него / нее будет идентификатор сессии.

Хакер может также перехватить идентификатор сеанса на основе файлов cookie, если он / она имеет доступ к потоку http.

Тем не менее, есть несколько дополнительных ценных бумаг, которые можно поставить на место. Например:

  • (идентификатор сеанса) должен быть действителен только в течение короткого периода
  • (идентификатор сеанса) может быть действительным только для определенного IP (IP, который создал сеанс)
  • (идентификатор сеанса) может быть действительным только для определенного пользовательского агента / флэш-версии / .. подпись
  • (идентификатор сеанса) может быть изменен для каждого нового просмотра страницы, исключая предыдущий session_id

При обработке информации о кредитной карте

  1. Всегда используйте https. Это более безопасно, поскольку данные зашифрованы как минимум между браузером и первым прокси https на маршруте к серверу
  2. Случай, когда вам нужно было бы манипулировать информацией о кредитной карте самостоятельно, редок. Сайты, обрабатывающие кредитные карты сами по себе, в настоящее время все больше и больше вынуждены соблюдать правила PCI / DSS , что может быть довольно обременительным. Вам, вероятно, следует заключить договор с банковским решением, в котором кредитная карта будет размещена на их веб-страницах, или использовать PayPal, например.
  3. Никогда не храните информацию о кредитной карте в своей базе данных, если у вас нет необходимых решений для обеспечения безопасности, с регулярным внешним аудитом.

Следующая ссылка может дать вам дополнительную информацию о передовых методах идентификатора сеанса.

Я надеюсь, что это поможет вам Джером ВАГНЕР

1 голос
/ 15 апреля 2010

Я немного обеспокоен тем, что никто не перечислил эти 2 атаки:

1) Фиксация сеанса Хакер заходит на ваш веб-сайт и получает один из этих URL-адресов сеанса. Затем он отправляет много поддельных писем вероятным пользователям, чтобы они выглядели так, как будто они приходят с вашего сайта. В электронном письме запрашивается логин, и злоумышленнику дается URL-адрес сеанса. Затем злоумышленник периодически проверяет URL-адрес сеанса, чтобы убедиться, что кто-то прошел аутентификацию. Если они это сделали, то атака прошла успешно, и хакер просто украл аккаунт. Решением этой проблемы является сохранение IP-адреса пользователя в переменной сеанса при создании и проверка его для каждого запроса. Если вы передаете идентификатор сеанса только через Cookie, то злоумышленник не может установить значение cookie в другом браузере для домена, который он не контролирует, поэтому эта атака не может быть выполнена.

2) A Принтер : Иногда люди печатают страницу с веб-сайта. Вы когда-нибудь смотрели на очень низ страницы, напечатанной с веб-сайта? Ну, обычно URL страницы есть. Если вам нужно распечатать страницу, а затем передать ее кому-то, это как если бы вы просто записали свое имя пользователя / пароль и дали их им.

Избегайте сеансовых URL любой ценой.

Использовать SSL для всего сеанса . Если вы этого не сделаете, то вы потеряете идентификатор сессии (это верно, если вы используете куки!). Такое использование ssl является четким требованием A3 «Сломанная аутентификация и управление сеансами» 10 лучших версий OWASP на 2010 год .

1 голос
/ 15 апреля 2010

Да.

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

Чтобы предотвратить это, форма аутентификации и все последующие страницы всегда обслуживаются по https. Помимо прочего, https устраняет (или, по крайней мере, уменьшает) атаки человека в середине.

0 голосов
/ 15 апреля 2010

Одним словом, Да, по причинам, описанным другими авторами.

Конечно, если вы используете незашифрованное соединение HTTP для передачи информации о кредитной карте, он сможет напрямую прослушивать информацию о кредитной карте независимо от того, какую информацию о сеансе вы вводите. Вам необходимо реализовать ssl / https независимо от того, какой метод сеанса вы используете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...