Session 攻击大杀器: Sessionless

admin 2024年2月17日01:08:29评论18 views字数 2459阅读8分11秒阅读模式

关注本公众号,长期推送技术文章!

Session 攻击大杀器: Sessionless

Sessionless是一个Burp Suite的扩展,用于编辑、签名、验证和攻击已签名的令牌

  • Django TimestampSigner

    https://docs.djangoproject.com/en/5.0/topics/signing/#verifying-timestamped-values

  • ItsDangerous Signer

    https://itsdangerous.palletsprojects.com/en/2.1.x/signer/

  • Express cookie-session middleware

    https://expressjs.com/en/resources/middleware/cookie-session.html

  • oauth2-proxy

    https://github.com/oauth2-proxy/oauth2-proxy

  • Tornado’s signed cookies

    https://www.tornadoweb.org/en/stable/guide/security.html

它提供对HTTP请求/响应和WebSocket消息中令牌的自动检测和内联编辑、令牌的签名,以及对已签名令牌实现自动化暴力攻击相关功能。

Wordlist View

Session 攻击大杀器:  Sessionless

Wordlist View 允许导入 secrets 和 salts 列表文件。扩展程序具有其预先构建的字典列表。大多数 secrets 取自 jwt-secrets。

jwt-secrets: https://github.com/wallarm/jwt-secrets

作为选项,可以使用 Flask-Unsign-Wordlist。该扩展支持 JSON 字符串格式来处理特殊字符,要使用它,请用引号引用秘密字符串。

Flask-Unsign-Wordlist: https://github.com/Paradoxis/Flask-Unsign-Wordlist

Editor View

Session 攻击大杀器:  Sessionless

编辑器视图支持多种已签名的令牌:Django、Dangerous、Flask、Express、OAuth2和Tornado。它允许在Burp Suite的代理、历史记录和重发工具中对已签名的令牌进行修改。

Dangerous 选项卡可用于Flask和Django令牌,具体选择取决于是否检测到了Dangerous或Django令牌。

Editable Fields

提供了一个JSON文本编辑器,用于编辑包含JSON内容的每个组件:

  • 危险有效载荷
  • Django有效载荷(除了pickle序列化的有效载荷)
  • Express有效载荷

提供了一个时间戳编辑器,用于编辑包含时间戳的每个组件:

  • 危险时间戳
  • Django时间戳
  • OAuth2代理时间戳
  • Tornado时间戳

提供了一个十六进制编辑器,适用于所有签名令牌,除了Express签名。注意:Express选项卡尚不支持签名的自动更新。请手动将其复制到相应的签名cookie中。

Sign

"Sign"提供了一个签名对话框,可用于通过使用具有签名功能的Keys视图中的密钥对令牌进行签名,从而更新签名。

Session 攻击大杀器:  Sessionless

Brute force

暴力破解将尝试找到用于生成签名的密钥。如果找到了密钥,将显示一个对话框。

Session 攻击大杀器:  Sessionless

暴力破解选项实施了对已签名令牌签名的三种类型的攻击:

  • Fast将使用默认的哈希算法和密钥派生。
  • Balanced将使用所有已知的密钥派生技术,但不包括PBKDF2HMAC。
  • Deep将使用所有密钥派生技术,包括PBKDF2HMAC。

Attack

Session 攻击大杀器:  Sessionless

攻击选项实施了八种针对已签名令牌的著名授权攻击:

  1. User claims
  2. Wrapped user claims
  3. Username and password claims
  4. Flask claims
  5. Express claims
  6. Account user claims
  7. Authenticated claims
  8. User access_token

以下将对这些进行更详细的描述

Attacks

所有这些攻击都可以一起使用。请注意,扩展程序在攻击模式下不支持令牌有效负载的修改,因此您的有效负载将被替换为新的有效负载。

User claims

OpenID Connect的ID令牌格式通常由签名库用于存储有关已认证用户的信息。扩展将为管理员用户的ID令牌生成占位符。

Wrapped user claims

与 User claims 攻击相同,但会将其放入用户的JSON属性中。

Username and password claims

另一种存储用户详细信息的常见方式是使用用户名和密码的JSON属性。扩展将为管理员用户生成占位符。

Flask claims

如果在客户端存储Flask认证用户会话信息,则应包括id、_id、user_id或_user_id JSON属性。扩展将为第一个用户(通常是管理员)生成会话。

Express claims

Express 框架使用 passport JSON 属性来存储用户详细信息。扩展将为管理员用户生成占位符。

Account user claims

一些框架可能会使用账户包装器来存储有关已认证用户的信息。为了利用,可能需要使用认证声明。

Authenticated claims

认证声明实现了12个著名的授权标志。

User access_token

用户 access_token 选项生成的 JWT OpenID 连接 ID 令牌,使用相同的密钥和相同的哈希算法进行签名,而不执行任何密钥派生。

Install

项目地址:

https://github.com/d0ge/sessionless

Session 攻击大杀器:  Sessionless

直接Burp加载导入即可

Session 攻击大杀器:  Sessionless

More

https://securityonline.info/sessionless-burp-suite-extension-for-editing-signing-verifying-various-signed-web-tokens/

原文始发于微信公众号(一个不正经的黑客):Session 攻击大杀器: Sessionless

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月17日01:08:29
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Session 攻击大杀器: Sessionlesshttps://cn-sec.com/archives/2498513.html

发表评论

匿名网友 填写信息