Когда страница доставляет защищенные и незащищенные элементы по протоколу https, защищенные элементы подвергаются риску? - PullRequest
2 голосов
/ 12 апреля 2011

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

Мой клиент хочет добавить видео-канал из внешнего источника в личный кабинет на своем веб-сайте.Зона участников доставляется через https, а видео - нет.Не нарушает ли это защищенные данные?

Я знаю, что некоторые браузеры предупреждают пользователя о том, что на странице загружаются безопасные и незащищенные данные.Честно говоря, с моим клиентом все в порядке, но я не хочу двигаться вперед, если информация учетной записи пользователя (в частности, сеанс и т. Д.) Скомпрометирована.

Спасибо за любую помощь.

Ответы [ 2 ]

4 голосов
/ 12 апреля 2011

Если ваши страницы ссылаются на незашифрованный Javascript или Flash, вы совершенно незащищены; злоумышленник может заменить любой Javascript, который он хочет, и может украсть не только HTTP-файлы cookie, либо сделать произвольные HTTP-запросы, которые выдают себя за текущего пользователя.

Если вы ссылаетесь на незашифрованный CSS, вы все еще уязвимы; Злоумышленники могут произвольно изменить ваш макет, а может выполнить произвольный код в IE и Firefox .

Если вы ссылаетесь на незашифрованные изображения, у вас все в порядке; все, что может сделать злоумышленник, - это увидеть заголовок Referer и узнать, какую страницу видит пользователь. (Он также получит любые не-SSL-куки для домена изображения). Злоумышленник также может изменить изображения в соответствии со своими потребностями, что может быть проблемой.

1 голос
/ 12 апреля 2011

Если вы идентифицируете своего пользователя по cookie, например, используя стандартный SessionId, вы уязвимы, даже если ссылаетесь только на статические изображения.

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

Обратите внимание, это по умолчанию . Вы МОЖЕТЕ изменить это поведение, добавив атрибут secure; в свои файлы cookie. В зависимости от вашего фреймворка вы можете настроить его на автоматическое выполнение. Опять же, это не по умолчанию, вы должны явно изменить его.
И пока вы это делаете, добавьте атрибут httpOnly;.

...