目录导航
Padding Oracle Hunter简介
Padding Oracle Hunter 是一个 Burp Suite 扩展,可帮助渗透测试人员快速识别和利用 PKCS#7 和 PKCS#1 v1.5 填充 oracle 漏洞。
特征
目前,该扩展由 2 个单独的选项卡PKCS#7和PKCS#1 v1.5组成,它们支持以下功能:
PKCS#7
以下 GUI 可用于识别和执行针对 CBC 块密码的 PKCS#7 填充方案的填充预言攻击。该攻击允许在不知道密钥的情况下恢复和修改明文。
GUI(上图)的组件如下:
- Http 请求窗口。
- 用于选择有效负载及其格式的面板。为实现全解密,payload预计为IV || 密文。
- 用于执行攻击的线程数。有了更多的线程,计算预计会更快。
- 加密协议的块大小。
- 由于无效填充而来自服务器的响应(部分或全部)。仅用于加密和解密操作。
- 将用于计算密文的明文。仅用于加密操作。
- 输出窗口。
- 用于验证服务器是否容易受到 PKCS#7 padding oracle 攻击的测试功能。
- 加密函数从给定的明文计算密文。
- 解密函数从加密的有效载荷中恢复明文。
- 停止功能可停止所有当前操作。
PKCS#1 v1.5
以下 GUI 可用于识别和执行针对 RSA Cryptosystem 上的 PKCS#1 v1.5 填充方案的填充预言攻击。该攻击允许仅使用公钥信息恢复明文。
GUI(上图)的组件如下:
- Http 请求窗口。
- 用于选择有效负载及其格式的面板。
- RSA 公共指数。
- RSA 公共模数。
- 由于无效填充而来自服务器的响应(部分或全部)。仅用于解密操作。
- 显示测试和解密结果的时间间隔。
- 输出窗口。
- 用于验证服务器是否容易受到 PKCS#1 v1.5 padding oracle 攻击的测试功能。
- 解密函数从加密的有效载荷中恢复明文。
- 停止功能可停止所有当前操作。
先决条件
安装
burpsuite
- 克隆此存储库。
- 在 Burp 中,选择Extender -> Options -> Python Environment -> Select File -> 选择 Jython 独立 JAR 文件
- 从 Burp 中,选择Extender -> Extensions -> Add -> 选择 Extension type: Python and Extension file: padding_oracle_hunter.py
- 单击下一步并确保安装完成且没有错误。如果一切顺利,会在 Burp 中创建Padding Oracle Hunter选项卡。
测试易受攻击的服务器
- 创建了一个测试服务器来模拟填充预言机漏洞。
- 要设置服务器,请克隆此存储库 -> 进入 TestVulServer 目录 -> 运行 docker-compose up
- 服务器可以通过http://ServerIP:8000访问
用法
PKCS#7
- 使用以下POST请求转到位于http://ServerIP:8000/TestAesPKCS7的测试服务器端点,并注意我们以普通用户身份登录。
2.通过Extensions -> Padding Oracle Hunter -> PKCS#7传递请求
3.在Request窗口中选择密文值,点击Select Payload with Hex format,Url Encoded uncheck。有效载荷将包含在§符号中。
4.单击测试按钮,它将提供一个摘要,表明服务器容易受到填充预言攻击。
5.从输出窗口复制无效填充响应的任一部分/全部并将其放入无效填充响应文本框中,单击解密按钮以恢复明文。
6.为了将权限提升到管理员,我们需要将明文修改为{“userid”:”100″,”isAdmin”:”True”}并将其转换为十六进制值
7.将十六进制值复制到明文文本框中,然后单击加密按钮以计算相应的密文。
8.使用新计算的密文更新 http 请求并将请求发送到服务器。请注意,我们现在以管理员身份登录。
PKCS#1 v1.5
- 使用以下POST请求 转到位于http://ServerIP:8000/TestRsaPKCS1_5的测试服务器端点。
2.通过Extensions -> Padding Oracle Hunter -> PKCS#1 v1.5传递请求
3.在Request窗口中选择密文值,点击Select Payload with Hex format,Url Encoded uncheck。有效载荷将包含在§符号中。
4.public exponent: 65537
用和填写公钥参数modulus: 91150209829916536965146520317827566881182630249923637533035630164622161072289
5.单击测试按钮,它将提供一个摘要,表明服务器容易受到填充预言攻击。
6.从输出窗口复制无效填充响应的任一部分/全部,并将其放入无效填充响应文本框中。点击Decrypt按钮,大约 50k 请求时将恢复明文。
项目地址:
GitHub:https://github.com/GovTech-CSG/PaddingOracleHunter
插件下载地址:
解压密码:www.ddosi.org
https://yzzpan.com/#sharefile=KON3PfV6_37076
转载请注明出处及链接