漏洞简介

最近学习了一个shiro的 Critica级漏洞的验证,利用Padding Oracle Vulnerability破解rememberMe Cookie,达到反序列化漏洞的利用,攻击者无需知道rememberMe的加密密钥。
明文分组和填充就是Padding Oracle Attack的根源所在,但是这些需要一个前提,那就是应用程序对异常的处理。当提交的加密后的数据中出现错误的填充信息时,不够安全的应用程序解密时报错,直接抛出“填充错误”异常信息。
Padding Oracle Attack是比较早的一种漏洞利用方式了,在2011年的Pwnie Rewards中被评为”最具有价值的服务器漏洞“。该漏洞主要是由于设计使用的场景不当,导致可以利用密码算法通过”旁路攻击“被破解,并不是对算法的破解。
利用该漏洞可以破解出密文的明文以及将明文加密成密文,该漏洞存在条件如下:
1、攻击者能够获取到密文(基于分组密码模式),以及IV向量(通常附带在密文前面,初始化向量);
2、攻击者能够修改密文触发解密过程,解密成功和解密失败存在差异性。
影响范围

受影响版本
Apache Shiro 1.2.5,1.2.6,1.3.0,1.3.1,1.3.2,1.4.0-RC2,1.4.0,1.4.1
不受影响版本
Apache Shiro-root-1.4.2-release-vote1及以上
漏洞利用

搭建存在漏洞的环境
下载padding_oracle.iso,安装在VM中即可(linux 32),访问地址完成注册:
https://www.hackingarticles.in/hack-padding-oracle-lab/

首先我们注册一个帐号sakura/sakura,并记录auth值。



破解auth cookie
利用padbuster进行破解,https://github.com/AonCyberLabs/PadBuster
破解密文:

# ./padBuster.pl [url]http://192.168.1.188/index.php[/url] 71lYZdByH4QNKf+ZfBkGVIbXbejXLFE+ 8 --cookie auth=71lYZdByH4QNKf+ZfBkGVIbXbejXLFE+




伪造密文,登录其它账号:

# ./padBuster.pl [url]http://192.168.1.188/index.php[/url] 71lYZdByH4QNKf+ZfBkGVIbXbejXLFE+ 8 --cookie auth=71lYZdByH4QNKf+ZfBkGVIbXbejXLFE+ -plaintext user=admin



在浏览器中F12直接替换auth值就可以直接登录其他用户。


修复建议

1、开发人员可自定义加密逻辑,避免使用CBC密码块链接模式,以下CipherSuite易受到Padding Oracle攻击,请开发人员避免使用。(SHIRO官方即将发布的1.4.2版本,将加密模式替换为GCM)
2、若没有使用RememberMe的业务需求,可在前端页面注释掉相关代码,并将配置文件中的相关配置去掉。Shiro默认未配置RememberMe。

【你学不会,点了也没用】

Padding Oracle Attack填充提示攻击-渗透测试相关推荐

  1. shiro 721 反序列化漏洞复现与原理以及Padding Oracle Attack攻击加解密原理

    文章目录 1. 前置知识 1.1 shiro550利用条件 原理 1.2 shiro721利用条件 原理 shiro-721对cookie中rememberMe的值的解析过程 1.3 基于返回包的sh ...

  2. padding oracle attack相关之padding oracle attack

    前段时间遇到一个挺有意思的题目,用到了padding oracle attack的相关知识,于是恶补了一下padding oracle attack相关内容,本着取之于民用之于民同时也可以方便自己以后 ...

  3. Apache Shiro Padding Oracle Attack (Shiro-721)漏洞复现

    Apache Shiro Padding Oracle Attack (Shiro-721)漏洞复现 环境搭建 安装git 使用dockerfile 启动docker 获取dockerfile 查看是 ...

  4. 记录我对Padding Oracle攻击的分析和思考之抄写

    一.相关阅读资料 https://github.com/GDSSecurity/PadBuster PadBuster – Automated script for performing Paddin ...

  5. 如何进行渗透测试XSS跨站攻击检测

    国庆假期结束,这一节准备XSS跨站攻击渗透测试中的利用点,上一节讲了SQL注入攻击的详细流程,很多朋友想要咨询具体在跨站攻击上是如何实现和利用的,那么我们Sinesafe渗透测试工程师为大家详细的讲讲 ...

  6. 渗透测试常见漏洞描述及修复建议

    弱口令 漏洞描述 由于系统中存在有弱口令,导致攻击者通过弱口令可轻松登录系统中,从而进行下一步的攻击,如上传webshell,获取敏感数据! 另外攻击者利用弱口令登录网站管理后台,可任意增删改等操作, ...

  7. 渗透测试-web到内网的总结

    前言 本着知识梳理的心态写的这篇文章,参考了很多大佬的文章,如有侵权,联系必删!! 其中可能有很多不清除的概念,大佬轻喷~~~~~~~~ WEB渗透 sql注入 [存在数据库交互就存在注入,本质就是传 ...

  8. Penetration_Testing_POC-About 渗透测试有关的POC、EXP、脚本、提权、小工具等

    Penetration_Testing_POC 搜集有关渗透测试中用到的POC.脚本.工具.文章等姿势分享,作为笔记吧,欢迎补充. Penetration_Testing_POC 请善用搜索[Ctrl ...

  9. 第5篇 | Shiro Padding Oracle无key的艰难实战利用过程

    ‍ Part1 前言  大家好,上期分享了银行站的一个Java 的SSRF组合洞案例,这期讲讲分享一个Shiro Padding Oracle漏洞利用过程. Shiro反序列化漏洞自16年公布以来,至 ...

最新文章

  1. OSError: image file is truncated (28 bytes not processed)
  2. loj10095 间谍网络
  3. 权威认可!PolarDB-X高分通过中国信通院《分布式事务数据库稳定性专项评测》
  4. 关于iframe的contentDocument和contentWindow
  5. DDR3布线的那些事儿(二)
  6. linux贪吃蛇c程序,Linux环境下C语言实现贪吃蛇游戏
  7. 黑旋风简约引导页源码-个人官网必备
  8. 移动端实现蓝牙打印机打印_MBrush世界上最小的移动彩色打印机
  9. LeetCode - Easy - Excel Sheet Column Title
  10. 什么是hibernate懒加载?什么时候用懒加载?为什么要用懒加载?
  11. 脚本故事 - 2003年11月
  12. 手机号码归属地查询练习
  13. Error: Error while compiling statement: FAILED: ParseException line 1:20 cannot recognize input near
  14. MQTT5协议报文格式
  15. ifv播放器android 版,ifv格式播放器
  16. 2023计算机考研专业课参考书目(408)
  17. 禁止小程序输入Emoji表情符
  18. VICA 架构设计(1)
  19. java校招笔试题目_Java校招笔试题
  20. 使用R语言绘制心形图

热门文章

  1. Python语言学习之字符串那些事:python和字符串的使用方法之详细攻略
  2. ML之分类预测之ElasticNet之PLoR:在二分类数据集上调用Glmnet库训练PLoR模型(T2)
  3. BlockChain:《Blockchain Gate》听课笔记——区块链的共识机制—简介、理解、畅谈
  4. 虚拟机 centos 6.5 扩展根目录分区大小
  5. Hyperopt中文文档:Home
  6. Linux下WRF Domain Wizard使用教程(PART2: 使用教程及 遇到的种种BUG)
  7. Surf Gym - 100819S
  8. Linux grep
  9. 会声会影X4 初学者速成 转
  10. hdu 4004 二分查找