В моем web.xml я определил ограничение пользовательских данных для некоторых ресурсов:
<security-constraint>
<web-resource-collection>
<web-resource-name>Personal Area</web-resource-name>
<url-pattern>/personal/*</url-pattern>
</web-resource-collection>
<web-resource-collection>
<web-resource-name>User Area</web-resource-name>
<url-pattern>/user/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
- Когда я загружаю страницу с http, у меня есть мой JSESSIONID ID1 в моем cookie.
- Когда я перехожу к context/user/sample.faces, Tomcat делает перенаправление 302 на HTTPS. Но мой JSESSIONID по-прежнему ID1.
Я думаю, что это уязвимость? Или это моя ошибка конфигурации?
Проблема, которую я вижу, следующая: во время просмотра HTTP файла с файлом cookie ID1 есть злоумышленник, который слушает мой сетевой трафик. Он "крадет" мой файл cookie ID1. Теперь я переключаюсь на HTTPS, и мой файл cookie все еще ID1. Я вхожу. Затем злоумышленник может забрать мою сессию, потому что он знает мой файл cookie...