У нас есть веб-страница, которая использует sapui5 -framework для создания spa. Связь между браузером и сервером использует https. Взаимодействие для входа в страницу выглядит следующим образом:
- Пользователь открывает веб-сайт, введя
https://myserver.com
в браузере - Отображается диалог входа в систему с двумя полями формы для имени и пароля.
- После ввода
username
иpassword
и нажатияlogin-button
- ajax-запрос отправляется с помощью
GET
в URL-адрес:https://myusername:[email protected]/foo/bar/metadata
По моему пониманию, используя GET для отправки конфиденциальных данных, это никогда не будет хорошей идеей. Но этот ответ HTTPS - это строковая строка url говорит следующее
HTTPS Establishes an underlying SSL conenction before any HTTP data is
transferred. This ensures that all URL data (with the exception of
hostname, which is used to establish the connection) is carried solely
within this encrypted connection and is protected from
man-in-the-middle attacks in the same way that any HTTPS data is.
An в другом ответе в том же потоке:
These fields [for example form field, query strings] are stripped off
of the URL when creating the routing information in the https packaging
process by the browser and are included in the encrypted data block.
The page data (form, text, and query string) are passed in the
encrypted block after the encryption methods are determined and the
handshake completes.
Но похоже, что проблемы безопасности могут возникать при использовании get:
- URL-адрес хранится в журналах на сервере и в том же потоке
- утечка через историю браузера
Это относится к URL-адресам вроде?
https://myusername:[email protected]/foo/bar/metadata
// or
https://myserver.com/?user=myUsername&pass=MyPasswort
Дополнительные вопросы по этой теме:
- передаёт переменные get через ssl secure
- отправка пароля в json через https считается безопасным
- Как отправить безопасные пароли через GET/POST?
В security.stackexchange есть дополнительная информация:
Но, на мой взгляд, некоторые аспекты еще не получили ответа
Вопрос
По-моему, упомянутые пункты являются действительными возражениями, чтобы не использовать get. Это дело; использует get для отправки паролей плохая идея?
Являются ли эти параметры атаки больше?
- история браузера
- серверные журналы (при условии, что URL-адрес хранится в незашифрованных или зашифрованных журналах)
- информация о реферере (если это действительно так)
Какие параметры атаки существуют при отправке конфиденциальных данных (пароль) через https с помощью get?
Спасибо