清除日志中的密码



我知道密码最终会出现在清除日志中有很多原因,例如,我在调试日志的上下文中看到了这一点,但我想知道是否有人能解释一下这是如何工作的,假设网络应用程序对用户提交的密码进行散列,并将散列与网站运营商存储的密码进行比较。

例如,假设用户访问一个网站,输入用户名和密码,然后单击提交。我假设密码会立即进行哈希处理(比如使用bcrypt(,并与数据库中与输入的用户名相关联的哈希进行比较。那么,明文密码怎么会出现在日志中呢?输入的密码是否会在散列发生之前以某种方式被记录?如果是,那是安全故障吗?

密码通常在服务器端进行哈希处理,而不是在客户端。如果密码将在GET请求中发送,那么它将在日志中以纯文本结束。

为了防止密码出现在日志文件中,应该使用POST请求。

为了保护密码不受中间人攻击,应该只通过加密的HTTPS/SSL连接传递密码。客户端散列不会保护密码,因为中间的人可以简单地剥离进行散列的脚本。

最新更新