Сеанс ASP.Net не отменяется после выхода из системы - PullRequest
3 голосов
/ 10 ноября 2009

У меня на странице входа есть приложение ASP.Net, которое я звоню

FormsAuthentication.SignOut 
Session.Abandon() 
Session.Clear() 

однако Appscan принимает значение cookie ASPXAUTH, а затем после выхода из системы может повторно ввести значение cookie, чтобы получить доступ к защищенным страницам.

Microsoft признала проблему, но предлагает только совет, а не исправление - http://support.microsoft.com/kb/900111

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

Ответы [ 2 ]

3 голосов
/ 11 ноября 2009

Одним из вариантов является наличие таблицы UserSession и вставка записи в эту таблицу при входе пользователя в систему. При выходе из системы либо удалите запись, либо пометьте ее как недействительную. На защищенных страницах убедитесь, что для вошедшего в систему пользователя существует UserSession, и перенаправьте на страницу входа, если это не так.

0 голосов
/ 08 июня 2012

установить значение сеанса при входе в систему, очистить его при выходе из системы и проверять его при каждом доступе к защищенной странице. Значение сеанса не отправляется клиенту, и поэтому клиент / злоумышленник не может манипулировать им.

прохождение без значения сеанса, очищенного при выходе: пользователь заходит на страницу входа - генерирует viewstate Злоумышленник собирает viewstate

пользователь отправляет форму входа в систему - генерирует файлы cookie авторизации злоумышленник собирает файлы cookie

пользователь выходит из системы - сервер очищает куки пользователя злоумышленник продолжает беспрепятственно использовать прежние учетные данные игра окончена

Значение сеанса прохождения, очищенное при выходе: пользователь заходит на страницу входа - генерирует viewstate Злоумышленник собирает viewstate

пользователь отправляет форму входа в систему - генерирует файлы cookie авторизации злоумышленник собирает подлинные куки

пользователь выходит из системы - сервер очищает файлы cookie пользователей и устанавливает для своего внутреннего флага сеанса значение null Хакер man-in-the-middle-продолжает использовать предыдущие учетные данные, но поскольку сеанс, с которым он сейчас работает, имеет значение, равное null, сервер перенаправляет на страницу входа. выиграть!

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