Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
sign-saboteur — SignSaboteur 是一个 Burp Suite 扩展,用于编辑、签名和验证各种已签名的 Web 令牌。 | Kitploit
工具/GitHubGitHub/d0ge/sign-saboteur
身份验证与授权密码攻击Payload生成漏洞分析Web代理与拦截Web应用程序漏洞利用Web安全模糊测试密码学渗透测试
GitHubd0ge/sign-saboteur

sign-saboteur

171141年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

SignSaboteur 是一个 Burp Suite 扩展,用于编辑、签名和验证各种已签名的 Web 令牌。

查看仓库

SignSaboteur

SignSaboteur 是一个 Burp Suite 扩展,用于编辑、签名、验证和攻击签名令牌。 它支持多种令牌类型:Django TimestampSigner、ItsDangerous Signer、Express cookie-session 中间件、OAuth2 Proxy、Tornado 签名 Cookie、Ruby Rails 签名 Cookie、Ruby Rails 加密 Cookie、Nimbus JOSE + JWT 以及未知签名字符串。

您可以在 Portswigger 研究博客文章页面上找到有关该扩展的更多信息 - Introducing SignSaboteur: forge signed web tokens with ease。

该扩展提供在 HTTP 请求/响应和 WebSocket 消息中自动检测并内联编辑令牌的功能, 以及对令牌进行签名并自动对签名令牌实现进行暴力破解攻击的功能。

它的灵感来源于 Fraser Winterborn 和 Dolph Flynn 的 JWT Token 扩展。原始源代码可以 在 这里 和 这里 找到。

构建说明

  • 确保已安装 Java JDK 17 或更高版本
  • 从项目根目录运行命令 ./gradlew jar
  • 这会将 JAR 文件 sign-saboteur-1.0.6.jar 放置在 build/libs 目录中
  • 可以通过导航到 Extensions 标签页的 Installed 子标签页,点击 Add 并加载 JAR 文件将其加载到 Burp 中
  • 此 BApp 使用较新的 Montoya API,因此最好使用最新版本的 Burp(如果最新稳定版有问题,请尝试更早的采纳者渠道)

词表视图

词表视图 允许导入密钥和盐值列表文件。该扩展自带预构建的字典列表。大多数 密钥取自 jwt-secrets。作为 选项,也可以使用 Flask-Unsign-Wordlist。扩展支持使用 JSON 字符串格式处理特殊字符,使用时需用 " 引用密钥字符串。

编辑器视图

编辑器视图 支持多种签名令牌:Django、Dangerous、Flask、Express、OAuth2 和 Tornado。它允许 在 Burp Suite 的代理、历史和重放工具中的 HTTP 请求/响应视图中修改签名令牌。

Dangerous 标签页可用于 Flask 和 Django 令牌,具体取决于检测到的是 Dangerous 还是 Django 令牌。

Unknown 标签页可用于暴力破解未知签名字符串。猜测模式仅适用于 平衡 和 深度 暴力破解攻击。它支持不同的消息派生技术,包括:

  • None 消息将按原样使用
  • CONCAT 分隔字节将从消息中移除,并使用该新值计算签名
  • Tornado 分隔字节将追加到消息字符串的末尾

可编辑字段

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

  • Dangerous Payload
  • Django Payload(除 pickle 序列化 payload 外)
  • Express Payload
  • JWT Payload

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

  • Dangerous 时间戳
  • Django 时间戳
  • OAuth2 Proxy 时间戳
  • Tornado 时间戳

为所有签名令牌(Express 签名除外)提供了十六进制编辑器。注意 Express 标签页尚不支持签名自动更新。请手动将其复制到相应的签名 Cookie 中。

签名

签名 呈现一个签名对话框,可用于通过使用具有签名能力的 密钥视图 中的密钥对令牌进行签名来更新签名。

暴力破解

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

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

  • 已知密钥 仅使用先前发现的密钥
  • 快速 使用默认哈希算法和密钥派生
  • 平衡 使用所有已知的密钥派生技术,除了 PBKDF2WithHmacSHA1、PBKDF2WithHmacSHA256
  • 深度 使用所有密钥派生技术,包括 Ruby Rails 框架支持的不同类型

攻击

攻击 选项实现了八种众所周知的针对签名令牌的授权攻击:

  • 用户声明(User claims)
  • 包装的用户声明(Wrapped user claims)
  • 用户名和密码声明(Username and password claims)
  • Flask 声明(Flask claims)
  • Express 声明(Express claims)
  • 账户用户声明(Account user claims)
  • 已验证声明(Authenticated claims)
  • 用户 access_token(User access_token)

下面将更详细地描述这些攻击。

攻击

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

用户声明

OpenID Connect ID 令牌格式通常被签名库用于存储经过身份验证的用户信息。 扩展将为 admin 用户 ID 令牌生成占位符。

包装的用户声明

与 用户声明 攻击相同,但将其放入 user JSON 属性中。

用户名和密码声明

另一种存储用户详细信息的常见方式是 username 和 password JSON 属性。扩展将为 admin 用户生成占位符。

Flask 声明

如果 Flask 经过身份验证的用户会话信息存储在客户端,则应包含 id、_id、user_id 或 _user_id JSON 属性。扩展将为第一个用户(通常是 admin)生成会话。

Express 声明

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

账户用户声明

某些框架可能使用 account 包装器来存储经过身份验证的用户信息。为了利用,可能还需要使用 已验证声明。

已验证声明

已验证声明 实现了 12 个众所周知的授权标志。

用户 access_token

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

下载工具