Пароль моей формы передается в виде открытого текста? - PullRequest
7 голосов
/ 28 сентября 2008

Это то, что отправил мой браузер при входе на какой-либо сайт:

POST http://www.some.site/login.php HTTP/1.0
User-Agent: Opera/8.26 (X2000; Linux i686; Z; en)
Host: www.some.site
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: en-US,en;q=0.9
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Referer: http://www.some.site/
Proxy-Connection: close
Content-Length: 123
Content-Type: application/x-www-form-urlencoded

lots_of_stuff=here&e2ad811=<b>my_login_name</b>&e327696=<b>my_password</b>&lots_of_stuff=here

Могу ли я заявить, что кто-нибудь может прослушать мои логин и пароль для этого сайта? Может быть, только в моей локальной сети?
Если так (даже только по локальной сети), то я в шоке. Я думал, используя

<input type="password">

сделал нечто большее, чем заставил всех персонажей выглядеть как '*'

p.s. Если это имеет значение, я играл с Netcat (на Linux) и установил соединение
браузер <=> netcat (залогинен здесь) <=> прокси <=> remote_site

Ответы [ 5 ]

17 голосов
/ 28 сентября 2008

Любые данные, отправленные через http-соединение, могут быть просмотрены кем-то на вашем маршруте к серверу (человек в середине атаки).

type = "password" скрывает только символы на экране, и даже другие программы на вашем компьютере могут читать данные.

Единственный способ защитить данные - отправить их по протоколу SSL (HTTPS вместо HTTP)

4 голосов
/ 28 сентября 2008

type = "password" скрывает только символ на экране. Если вы хотите прекратить прослушивание, вам необходимо зашифровать соединение (например, HTTPS).

2 голосов
/ 28 сентября 2008

Вы можете либо зашифровать HTTP-соединение через HTTPS, либо в JavaScript реализованы MD5 и другие алгоритмы хеширования, которые можно использовать на стороне клиента для хэширования пароля на стороне клиента перед его отправкой, что приводит к тому, что перехватчик может прочитать ваш пароль .

0 голосов
/ 28 сентября 2008

Содержимое тела POST отображается, т. Е. «В открытом виде», если оно передается по незашифрованному каналу. Если вы хотите защитить тело HTTP от перехвата, вы должны сделать это по безопасному каналу, через HTTPS .

0 голосов
/ 28 сентября 2008

Да, ваши учетные данные передаются в виде открытого текста, каждый, кто слышит ваш сетевой трафик, может их прослушать.

...