我正在我的一个网站上运行 Nessus,它返回"Web 服务器传输明文凭据"漏洞。 这是一个低级漏洞,但我想了解它。
我的网站加密密码文本框,并将其发送到数据库过程,以与数据库中该用户的加密密码进行比较。 因此,即使它是明文,加密的密码也会被发送。 这是否意味着此漏洞不适用于我的网站,或者我是否仍然允许暴露密码?
谢谢
我相信您的潜在安全问题有多个方面。 如果对 Web 服务有任何敏感性,这将使大多数审核失败。
出现此漏洞的原因是您在处理密码时未使用 HTTPS。(表单中的密码字段(。 所以是的,你在技术上很容易受到这种影响。 中间人攻击可以看到正在传输的内容并重用该"加密"值。 他们还可以修改数据以导致发生其他操作,具体取决于设计缺陷。 您至少有一个问题尚未在此处缓解。 HTTPS是防止MITM的最佳解决方案。
超越第一点 - 您似乎表明您知道用户放入密码字段/框中的密码值在传输到服务器之前正在加密。如果在浏览器中使用 javascript 对值进行加密,则可能没有正确保护密码。客户端 javascript 是实现此类安全控制的糟糕方法。(特别是如果没有预防MITM( 但是,如果有人只是将"加密"值从Web浏览器之外的某个地方粘贴到浏览器表单中并将其发送到服务器,那么加密的性质是一个关键点。它应该使用众所周知的现代加密协议,如AES。 但是,如果有人可以通过MITM攻击捕获价值并重复使用它,那么这是毫无意义的。
强烈建议通过 Web 服务的 HTTPS 配置采用 TLS 安全性。