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