题
这是我的浏览器在登录某个网站时发送的内容:
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
我是否可以声明任何人都可以嗅探该网站的登录名和密码? 也许就在我的局域网上? 点击 如果是这样(即使只在局域网上)那么我很震惊。我想用
<input type="password">
做了更多的事情而不是让所有角色看起来像'*'
P.S。如果重要的话我玩netcat(在linux上)并建立连接
浏览器<!> lt; = <!> gt; netcat(loged here)<!> lt; = <!> gt; proxy <!> lt; = <!> gt; remote_site
解决方案
发送到http连接的每个数据都可以通过您路由到服务器的人(中间人攻击)。
<!>型= QUOT; <!>密码QUOT;只能在屏幕上隐藏字符,甚至计算机上的其他程序也可以读取数据。
保护数据的唯一方法是发送SSL(HTTPS而不是HTTP)
其他提示
<!>
型= QUOT; <!>密码QUOT;只隐藏屏幕上的角色。如果要停止嗅探,则需要加密连接(即HTTPS)。
您可以通过HTTPS加密HTTP连接,或者在JavaScript中实现MD5和其他哈希算法,可以在发送之前使用客户端对密码客户端进行哈希处理,从而阻止嗅探器读取您的密码
是的,您的凭据以明文形式传递,任何能够听到网络流量的人都可以嗅探它们。
POST主体的内容是可见的,即<!>;在clear,<!>中;如果在非加密频道上传输。如果您希望保护HTTP正文免受嗅探,您应该通过安全通道,通过 HTTPS
不隶属于 StackOverflow