用wireshark分析网站认证所使用的协议
一些已知的网站认证协议方法:
**Basic Auth:**最简单的认证协议,使用用户名和密码对用户进行身份验证。
**Digest Auth:**改进版的Basic Auth,使用哈希算法来保护用户名和密码。
**OAuth:**一种授权协议,允许用户授权第三方应用访问其资源。
**OpenID:**一种身份验证协议,允许用户使用现有的身份验证提供商来登录网站。
**SAML:**一种单点登录协议,允许用户使用单一身份验证凭据登录多个网站。
**JWT:**一种令牌格式,用于在各方之间安全地传输信息。
以下是如何判断不同类型的身份验证协议:
Basic Auth:Basic Auth 是一个简单的身份验证协议,使用用户名和密码对用户进行身份验证。它使用 base64 编码将用户名和密码组合成一个字符串,并将该字符串作为 HTTP 头部发送到服务器。
**Digest Auth:**Digest Auth 是一个改进版的 Basic Auth,使用哈希算法来保护用户名和密码。它使用 MD5 哈希算法将用户名和密码组合成一个字符串,并将该字符串作为 HTTP 头部发送到服务器。
**OAuth:**OAuth 是一种授权协议,允许用户授权第三方应用访问其资源。它通过使用令牌来代表用户访问资源来实现。
**OpenID:**OpenID 是一种身份验证协议,允许用户使用现有的身份验证提供商来登录网站。它通过使用 OpenID 提供商来验证用户的身份来实现。
**SAML:**SAML 是一种单点登录协议,允许用户使用单一身份验证凭据登录多个网站。它通过使用 SAML 提供商来验证用户的身份来实现。
**JWT :**是基于 JSON 的令牌,可以使用 HTTP 头部发送,也可以作为 POST 请求的一部分发送。JWT 由三个部分组成:头部、有效负载和签名。头部包含令牌类型和哈希算法。有效负载包含令牌所携带的信息。签名是头部和有效负载的哈希值,用于验证令牌的完整性。
您可以根据协议的特点来判断。例如,如果协议使用 base64 编码将用户名和密码组合成一个字符串,则可能是 Basic Auth。如果协议使用哈希算法来保护用户名和密码,则可能是 Digest Auth。如果协议使用令牌来代表用户访问资源,则可能是 OAuth。如果协议使用 OpenID 提供商来验证用户的身份,则可能是 OpenID。如果协议使用 SAML 提供商来验证用户的身份,则可能是 SAML。
看哪里?
打开wireshark>分析>追踪流>http流>CTRL f 搜索token>对比
看 Authorization
头部中的 Bearer
值。Bearer
是 OAuth 协议中使用的令牌类型(存在于返回值中,直接搜索“token”分析满足哪个)。如果请求中包含 Authorization
头部,并且头部值以 Bearer
开头,则请求很可能使用 OAuth 进行身份验证。