在提交表单数据时,密码在表单数据中以加密格式可见,也在 POST 请求的参数中可见。
我想以加密格式隐藏密码。在Burp Suite中,显示了以下漏洞问题。 [![在此处输入图片描述][2]][2]
我使用 sha-512 加密,url 是 https。我一直在搜索这个,但我发现的只是将协议(protocol)从 http 更改为 https。请帮助我如何解决隐藏表单数据以防止在 POST 请求 header 参数中显示密码的问题。
最佳答案
While submitting a form's data,the password is visible in encrypted format inside the form data and also in the parameters of the POST request
确实,浏览器会向您显示所有已发布的数据。实际上,请求是代表用户完成的,您必须假设用户可以看到他/她发布的所有信息。
I want to hide the password in the encrypted format.
just to change the protocol to https from http
是的,这是正确的答案,https 确保流量被加密并且服务器经过身份验证,任何嗅探流量的人都无法解密任何发布的数据。您在浏览器中看到的是加密和实际传输之前的数据。
I am using sha-512 for encryption
不,你好像只是对一些数据进行了哈希处理(请搜索并了解加密和哈希之间的区别),现在哈希已成为密码,现在你需要保护哈希。
CWE-204
您所显示的任何内容都表明存在 CWE-204 漏洞。您所显示的是带有 session cookie 和重定向 url 的正常发布请求和响应。您的系统可能存在也可能不存在 CWE-204 漏洞,尽管它与您提供的数据无关。
Please help me how to solve this issue of hiding the form data from showing the password in the POST request header parameters
现在有一个问题:
密码是由用户提供的吗?您是否想对任何第 3 方隐藏密码(可能会嗅探流量)?然后使用 https 就可以了。用户可能仍会看到发布的数据(包括密码),但是好吧 - 用户提供了密码,他已经知道了。
如果“密码”一些系统参数你想在用户不知道的情况下传递给表单?理论上 - 您可以在服务器端加密密码并在目标系统上解密密码。但是 - 用户可能只是再次发布加密密码。那么您可能更愿意使用有时间限制的 JWT token 。
关于encryption - 发送发布请求时在表单数据中隐藏密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55242337/