質問
これは、あるサイトにログインするときにブラウザが送信したものです:
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=my_login_name&e327696=my_password&lots_of_stuff=here
誰でもそのサイトのログイン名とパスワードを盗聴できると述べることはできますか?
たぶん私のLAN上だけですか?
そうだとすれば(LANでさえ)ショックを受けます。使用すると思った
<input type="password">
すべての文字を '*'のように見せること以上のことをしました
p.s。問題があれば、netcat(Linux)で遊んで接続しました
ブラウザ<!> lt; = <!> gt; netcat(ここに記録)<!> lt; = <!> gt;プロキシ<!> lt; = <!> gt; remote_site
解決
http接続を経由して送信されたすべてのデータは、サーバーへのルート内の誰か(中間者攻撃)に見られる可能性があります。
type = <!> quot; password <!> quot;画面上のキャラクターを非表示にするだけで、コンピューター上の他のプログラムでもデータを読み取ることができます。
データを保護する唯一の方法は、データをtrought SSL(HTTPではなくHTTPS)に送信することです
他のヒント
type = <!> quot; password <!> quot;画面上のキャラクターのみを非表示にします。スニッフィングを停止する場合は、接続を暗号化する必要があります(HTTPSなど)。
HTTPS経由でHTTP接続を暗号化するか、JavaScriptでMD5およびその他のハッシュアルゴリズムを実装してクライアント側でパスワードクライアント側をハッシュしてから送信することにより、スニファーがパスワードを読み取れないようにすることができます。
はい、あなたの資格情報はクリアテキストで渡され、あなたのネットワークトラフィックを聞くことができる人は誰でもそれらを盗聴できます。
POSTボディのコンテンツが表示されます。つまり、<!> quot;平文で、<!> quot;暗号化されていないチャネルで転送される場合。 HTTPボディをスニッフィングから保護する場合は、 HTTPS 。