关于浏览器POST请求安全性的有关问题
最近在学习用户登录安全性的问题。
从登录到登录成功大概过程如下:
1.输入密码,使用控件防止木马监控键盘输入
2.传输使用Https
3.数据库存储使用salt机制
我的问题来了,在1和2的中间,浏览器在发出POST请求时,密码是明文的啊,这个安全吗?浏览器发出的POST请求不会被截取到吗?使用httpwatch或者Chrome的调试工具,完全看的到的…
也有网站使用混淆的js加密,但是有闲工夫的人是可以破解的吧。。
使用Wireshark看到的确实是加密了,所以网络传输是安全的。
------解决思路----------------------
好吧, 由于开发人员的需要, 浏览器肯定得提供相应的数据给调试工具/插件, 但是如果像httpwatch这种工具是被非法安装上去的, 那么密码丢失谁也没办法, 就好像这样,
浏览器里输入密码 --> 浏览器获取密码 --> 加密 --> 提交
--> 送给请求数据的插件分析(httpwatch, firebug等等)
如果浏览器被感染了,那就变成
浏览器里输入密码 --> 浏览器获取密码 --> 加密 --> 提交
--> 送给请求数据的插件分析(也可能是恶意插件)
--> 木马截获
这时候什么加密都没用, 所以, 现在的浏览器安装插件都特别谨慎, 像chrome不是只能通过应用商店安装吗, 而不能在随便下一个插件, 然后双击安装了, 我试过, 如果拖动到插件窗口安装, chrome会强烈推荐不要安装, 而我安装上也没法启用
我觉得lz的问题像是qq发送密码安全吗? 虽然qq没有插件, 但是也可能被木马感染吧, 那怎么办?
只能加强qq的强壮性, 如果他发现被修改, 那就直接提示用户然后退出报错,
毕竟只要用户输入密码, 那么在某一个时刻, 某一块内存中就一定会有密码的明文, 不然浏览器怎么获得密码的? 把什么加密成密文? 既然有明文的存在, 就会有丢失的风险....
我们能做的只是,各司其职, 设计操作系统的, 把操作系统做的尽可能的安全, 浏览器开发者, 把浏览器做的足够强壮, 我们在传输敏感信息时要使用https等较安全的方法, 客户不要随便安装来历不明的插件, 等等,,,