Предотвращение фиксации сессии в Java - PullRequest
2 голосов
/ 05 марта 2012

У меня есть веб-приложение, написанное на Java.Мы не используем сеансы в процессе аутентификации.Было выполнено сканирование приложения, и было обнаружено, что у нас есть возможность атаки с фиксацией сеанса.Мне интересно, когда мы не используем сессию, как вы можете исправить или предотвратить фиксацию сессии?Это то, что отчет о сканировании FORTIFY сообщает

The following changes were applied to the original request:
• Added parameter 'Cookie_abcxyz.com-443' with the following value 'R3777273810'
• Removed cookie 'Cookie_abcxyz.com-443'

Request/Response:
GET / HTTP/1.1
Content-Length: 43
Accept: */*
Accept-Language: en-US
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Win32)
Host: myportal.abcxyz.com
Cookie_abcxyz.com-443=R3777273810
HTTP/1.1 200 OK
Set-Cookie: Cookie_abcxyz.com-443=R3777273810; path=/
Content-Length: 11211
Date: Mon, 13 Feb 2012 17:08:14 GMT
Server: abcxyz
Cache-Control: no-cache
Content-type: text/html

1 Ответ

11 голосов
/ 05 марта 2012

Мы не используем сеансы в процессе аутентификации .... Мне интересно, когда мы не используем сеанс

Это не имеет значения.Я предполагаю, что вы используете управление сеансами для своего сервера. Этот отчет об ошибке указывает на то, что вы не проверяете строку запроса для идентификаторов сеансов.
Проверьте здесь несколько примеров того, как вас могут атаковать: Фиксация сеанса

ОБНОВЛЕНИЕ:
Я подозревал, что вы не использовали стандартный контейнер. Я не могу сказать вам, что вы на самом деле должны делать, так как вы не добавили никакого кода,но из вашего описания и того факта, что вы получили отчет о таком обнаружении, проблема заключается в том, что вы разрешаете перезапись URL, и злоумышленник может использовать его для «кражи» сеанса, передавая известный идентификатор сеанса.
В широком смыслеговоря, что вы должны сделать, это после того, как пользователь вошел в систему, затем сделать текущий сеанс недействительным и создать новый на месте. В результате уже «украденный» идентификатор не может быть повторно использован.

И так как информации, которую вы предоставляете в посте, так мало, вам следует потратить некоторое время на изучение некоторых из следующих моментов, чтобы определить ту часть кода, которая вызывает проблемы:
OWASP 1
OWASP 2
OWASP 3
Сеанс Java Secure SO
также ASP
Интересная статья о фиксации сессии
Некоторые HTTP-утилиты из OWASP, которые вы, возможно, могли бы использовать
Фиксация сессии в Java
Безопасное управление сессиями

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