Web前端密码会在哪些环节被盗走
Web应用的表现形式有很多种,最常见的就是网站。Web应用只要曝光在公网上,很容易受到多种类型的攻击,Web前端密码一般会在这些环节被盗走:
1、数据传播过程中被拦载盗取
Web应用使用的协议较多数都是HTTP,而HTTP协议下数据是明文传输的(你认为你在表单中填入的密码是看不见的,其实数据传输时却是明文的),一旦数据被第三方拦截那可以直接看到所有的请求数据(包含了明文用户名和密码)!
2、密码在中间层(代理层)被盗走
如果客户端与服务器端中间还有个CDN层,那不能保证CDN节点会不会记录POST数据,如果记录了那前端所有的POST数据就存在被盗取的风险。
3、在输入密码时被盗走
这种情况一般发生在客户端电脑被植入了键盘钩子这类后门程序,可以捕获取键盘输入数据。应对之策就是开发自己的密码控件(比如:网银安全密码控件)。
还有一种可能就是用户访问了“钓鱼网站”,误将恶意网站当成正常网站输入了密码,这种没有很好的应对之策,需要提升自身的安全意识,学会辨别网站的真实性。
4、在前端被盗走
如果程序错误的将密码以明文形式存储在客户端Cookie中,那密码泄露也是分分钟的事了。
客户端密码加密可防止明文密码的泄露
综上,排除掉客户端电脑存在木马和访问钓鱼网站外,如果要保证前端密码安全则需要保证信道安全(建议使用HTTPS协议传输),如果无法使用HTTPS协议,那客户端密码加密则是必须的。
另外对于客户端而言,密码加密绝不是简简单单通过Hash一下就能解决的。建议做法是:用户输入明文密码后,从服务器端获取公钥和一个随机Salt然后混合在一起进行加密,服务器端接收到密码后用私钥解密然后再判断Salt等的合法性,即:不能直接拿前端传递的密码和后台密码直接对比,如果这两者是直接对比的,那加不加密都没有意义。
以上就是偶的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流~偶是科技领域创作者,十年互联网从业经验,偶了解更多科技知识!