Взламывание переменных сеанса в Asp.NET

Может быть, использовать этот код,

<meta http-equiv="refresh" content = "30" />

, будь проще

5
задан OrElse 5 June 2009 в 10:02
поделиться

2 ответа

Краткий ответ ... это зависит.

Сессия в ASP.NET может быть сохранена различными способами (InProc / SQL Server / State Server) и т. Д. Еще одна вещь, которую следует отметить, - это то, как клиент поддерживается сеанс (значение строки запроса, файлы cookie и т. д.)

Как предлагает плакат в этом ответе

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

Одна вещь, которую вы могли бы сделать когда вы аутентифицируете пользователя и сохраняете его имя в сеансе, было бы также хранить некоторую другую информацию о них. например, их UserAgentString, их IP-адрес, и если другой IP или UserAgentString попытается взаимодействовать с сеансом, вы можете сделать его недействительным.

13
ответ дан 18 December 2019 в 13:18
поделиться

Все возможно, но по умолчанию это сложно.

Обычно вы захватываете сеанс, крадя файл cookie сеанса и воссоздавая его на другом компьютере. Однако для этого веб-сайт должен быть уязвим для межсайтового скриптинга (который вы можете смягчить с помощью Server.HtmlEncode, когда вы повторяете ввод пользователя обратно). Если вы окажетесь уязвимыми, файл cookie сеанса ASP.NET будет помечен как HTTP Only, что означает, что если браузер поддерживает его, он будет недоступен для доступа из клиентских скриптов (хотя Safari игнорирует этот параметр).

1
ответ дан 18 December 2019 в 13:18
поделиться
Другие вопросы по тегам:

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