基本身份验证 - 哈希算法和标头注入 - 安全问题

Zur*_*iar 1 authentication http

我对基本身份验证的理解是,它将用户名:密码对存储在请求标头中,然后在服务器的后续响应中返回这些标头。

问题:

  1. 浏览器使用什么哈希算法来创建初始用户名:密码哈希并将其发送到服务器进行验证?

  2. 服务器上的每个请求是否应该通过验证运行用户名:密码对,或者仅查看授权标头中存在某些内容并接受它就足够了,因为它在那里,那么会话已经被验证了?

  3. (与 2 相关)是否可以在授权标头中插入任何旧字符串,从而欺骗服务器相信会话已通过身份验证?

我知道理论上我们不应该使用基本身份验证,但在某些情况下这是有意义的。

非常感谢

Cod*_*ter 5

不会发生散列,凭证以纯文本形式存在,它们只是进行 Base 64 编码以适应标头允许的字符范围。对于服务器期望经过身份验证的用户的每个资源,每个请求都必须包含此标头。

因此,当您捕获请求时,您可以使用标头将请求伪装成发出初始请求的用户。

HTTPS 可以防止窃听,但这并不能使其更安全。另请参阅如果通过 HTTPS 完成 BASIC-Auth 安全吗?