Фиксация сессии в ASP.NET

Я задаюсь вопросом, как предотвратить нападения фиксации Сессии в ASP.NET (см. http://en.wikipedia.org/wiki/Session_fixation),

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

16
задан Jose Guilherme Monteiro 10 December 2016 в 16:27
поделиться

3 ответа

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

В ASP.NET Session.Abandon() не достаточно для этой задачи. Microsoft утверждает в http://support.microsoft.com/kb/899918, что: ""При отказе от сеанса куки идентификатора сеанса не удаляются из браузера пользователя". Поэтому, как только сессия была завершена, любые новые запросы к тому же приложению будут использовать тот же идентификатор сессии, но будут иметь новый экземпляр состояния сессии."

Исправление ошибки было запрошено на https://connect.microsoft.com/feedback/viewfeedback.aspx?FeedbackID=143361&wa=wsignin1.0&siteid=210#details

Существует обходной путь для обеспечения генерации новых идентификаторов сессии, подробно описанный на http://support.microsoft.com/kb/899918, который включает вызов Session.Abandon и последующую очистку куки идентификатора сессии.

Было бы лучше, если бы ASP.NET не полагался на разработчиков.

17
ответ дан 30 November 2019 в 21:36
поделиться

Если я Полагаю, вы говорите о ... http://en.wikipedia.org/wiki/Session_fixation . Короткий ответ - да, у вас есть много способов защитить свой файл cookie. Вы не должны использовать сеанс без файлов cookie, и пока вы используете сеансы, убедитесь, что вы также явно защитили файл cookie.

Прочтите эту статью ... http://blogs.msdn.com/rahulso/archive/2007/06/19/cookies-case-study-with-ssl-and-frames-classic-asp .aspx

Надеюсь, это поможет ...

3
ответ дан 30 November 2019 в 21:36
поделиться

Он генерирует новый идентификатор сеанса, когда пользователь входит в систему и завершает сеанс, когда истекает тайм-аут, или пользователь уходит / закрывает браузер. И вы можете программно убить его с помощью Abandon () или удалить записи с помощью Remove ().

Я не уверен, в чем проблема?

-1
ответ дан 30 November 2019 в 21:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: