0x00 靠山

文章记录了剖析shiro反序列化破绽的思绪和历程,破绽用的次数挺多,感受不认真走一遍剖析照样瑕玷什么。排版也是凭据我所明白的剖析1day的思绪举行排版的,emm~ 不太专业哈 见谅 ┭┮﹏┭┮

友谊提醒:文章写的感受对照亲民,理论上有一些其他语言的基础都可以阅读,对照倾向于将器械写的详细(空话许多),就是那种看帖按着步骤走随着思索也许自行明白的水平(记性欠好,不写可能会忘的)

0x01 梦最先的地方

一切都要从官方shiro的某个人提出的问题形貌最先提及 ~ 下图为谷歌翻译效果

url: https://issues.apache.org/jira/browse/SHIRO-550

通过形貌可知:

    1. shiro <= 1.2.4 存在反序列化破绽
    1. shiro的CookieRememberMeManager类里对破绽参数rememberMe举行序列化,加密等操作,我明白成这个类和这个破绽有关系,可以当成入口点
    1. shiro对每次接见都市用到"记着我"的功效举行以下操作:

    2. 检索rememberMe cookie的值 //cookie中是否有这个参数

    3. Base 64解码 //对参数的值举行解码
    4. 使用AES解密 //对参数的值再举行解密
    5. 使用Java序列化(ObjectInputStream)反序列化。 //对解出的参数的值举行反序列化
    1. 源代码存在默认的AES加密密钥,所有能够查看源代码的人都可以知道默认密钥是什么

以此确定一个需要通过Debug代码来杀青的也许目的:

  • 通过控制rememberMe参数的值传输加密好的恶意序列化payload,乐成让shiro举行解密到反序列化的步骤就可以到达执行命令的目的
      1. 若何控制rememberMe参数的值
      1. 若何对payload举行加密
      1. 凭据加密方式对天生恶意序列化payload举行加密组织行使工具

0x02 科普时间

  • AES加密算法:属于对称加密算法,意思就是加密和解密用相同的密钥

    • 加密历程:

      明文 --> AES加密函数 + 密钥位数(128/192.256) + iv(初始化向量) + 密钥(key) + 模式(CBC和GCM等) + padding(填充方式)--> 密文

  • IDEA的Debug按钮功效:

    Step Over : 单步执行,遇到方式直接获得返回值而不会进入
    Step Into : 单步执行,遇到方式会进入方式,不会进入jdk实现的方式中
    Force Step Into : 可以进入任何的方式,好比jdk,jar包
    Step Out : 在方式内会直接获得返回值跳出该方式
    Run To Cursor : 让程序运行到鼠标所在的位置
    Drop Frame : 返回上一步,摧毁当前方式获得的值
    Resume Program : 运行至下一个断点所在位置

    ,

    环球UG

    欢迎进入环球UG官网(UG环球):www.ugbet.us,环球UG官方网站:www.caibao.it开放环球UG网址访问、环球UG会员注册、环球UG代理申请、环球UG电脑客户端、环球UG手机版下载等业务。

    ,

0x03 剖析独白

1. 环境设置

研究的条件自然是要搭建好环境

下载shiro的破绽环境,这里使用war包,放在tomcat的webapps里,启动tomcat,然后war包自动剖析成文件夹,使用IDEA打开此文件夹

顺便讲一下IDEA设置调试shiro

Run -> Edit Configurations -> 点击+号添加TomcatServer(Local) -> Server中设置Tomcat路径 -> 选择JRE版本 ->Deployment中点击+号添加tomcat里天生的shiro文件夹 -> 点击Apply

运行起来

2. 剖析历程

首先第一个目的是控制rememberMe参数的值,先找到参数所在位置,对环境的功效先正常使用一遍

当我接见http://localhost:8080/shiro_web_1_2_4_war/login.jsp 登录时勾选Remember Me后,cookie中泛起rememberMe参数,而shiro每次都市对cookie中的rememberMe来举行解密后反序列化操作来确定接见者权限,以是直接在cookie传输rememberMe参数就可以控制shiro反序列化的值

第二个目的是获得加密解密的方式,以此来自行加密解密恶意payload举行传输

反编译此破绽环境中的shiro组件jar包

选中shiro-core-1.2.4.jar -> 右键 -> Add as Library -> ok

选中shiro-web-1.2.4.jar -> 右键 -> Add as Library -> ok

IDEA中按两次shift 搜索咱们前面准备当做入口点的CookieRememberMeManager类,按着函数列表查看后并未发现有关加密的信息,so跟进父类AbstractRememberMeManager去看一下

进入此类可以发现一个很明显的key,凭据参数名DEFAULT_CIPHER_KEY_BYTES也可以断定是AES加密中所使用的密钥,同时确实是直接写入了代码中,相符上面通过形貌可知的AES密钥硬编码在源代码中的条件

这里我在AbstractRememberMeManager类函数名为encrypt(加密)中下了断点,然后在web端举行登录操作,最先debug,运行至encrypt函数传入参数serialized,然后点击Drop Frame返回上个方式发现传入的serialized的值是我适才web端登录的用户名root序列化后的数据,凭据运行步骤函数名预测流程是shiro验证完了登录的账号密码,然后凭据用户名天生序列化数据准备举行加密了

登录并阅读全文 usdt收款平台声明:该文看法仅代表作者自己,与本平台无关。转载请注明:收购usdt(www.caibao.it):Shiro反序列化剖析带思绪及组件检测条记
发布评论

分享到:

皇冠博彩维基百科(www.sd2828.net)
11 条回复
  1. BET
    BET
    (2021-02-02 00:01:11) 1#

    Allbetwww.9cx.net欢迎进入欧搏平台(Allbet Game),欧搏平台开放欧搏(Allbet)开户、欧搏(Allbet)代理开户、欧搏(Allbet)电脑客户端、欧搏(Allbet)APP下载等业务。能赞一万次吗

    1. usdt在线交易
      usdt在线交易
      (2021-02-19 04:54:25)     

      USDT线下交易U担保(www.Uotc.vip)是使用TRC-20协议的Usdt官方交易所,开放USDT帐号注册、usdt小额交易、usdt线下现金交易、usdt实名不实名交易、usdt场外担保交易的平台。免费提供场外usdt承兑、低价usdt渠道、Usdt提币免手续费、Usdt交易免手续费。U担保开放usdt otc API接口、支付回调等接口。是我喜欢的风格

  2. Allbet
    Allbet
    (2021-02-04 00:02:32) 2#

    诚信在线棒呆、

  3. 皇冠足球app
    皇冠足球app
    (2021-07-07 00:07:15) 3#

    USDT交易所www.Uotc.vip),全球頂尖的USDT場外擔保交易平臺。

    给你我所有的赞美

  4. 新2足球网址
    新2足球网址
    (2021-07-19 00:00:54) 4#
  5. USDT充值教程(www.6allbet.com)
    USDT充值教程(www.6allbet.com)
    (2021-10-18 00:17:44) 5#

    usdt接口www.caibao.it)是使用TRC-20协议的Usdt第三方支付平台,Usdt收款平台、Usdt自动充提平台、usdt跑分平台。免费提供入金通道、Usdt钱包支付接口、Usdt自动充值接口、Usdt无需实名寄售回收。菜宝Usdt钱包一键生成Usdt钱包、一键调用API接口、一键无实名出售Usdt。

    无意刷到,厉害了

  6. USDT不用实名买入卖出(www.usdt8.vip)
    USDT不用实名买入卖出(www.usdt8.vip)
    (2021-10-29 00:17:19) 6#

    你是当代马良吗

  7. USDT充值(www.usdt8.vip)
    USDT充值(www.usdt8.vip)
    (2021-12-28 00:07:55) 7#

    这份最佳阵容名单及响应的评分,均来自欧足联官方的Fantasy游戏。每个竞赛日到来前,玩家需要在系统中选定自己心目中的梦幻阵容,等该竞赛日竣事后,系统会凭证球员在竞赛中的显示盘算响应评分,来决议玩家的得分。因此,最佳阵容中的球员,也是3轮竞赛中都有优越显示的球员。而在响应的评分中,C罗以29分的高分居首。好多人都看啊

    1. tg群
      tg群
      (2022-11-14 08:53:56)     

      皇冠足球信用平台出租rent.22223388.com)是皇冠(正网)接入菜宝钱包的TRC20-USDT支付系统,为皇冠代理提供专业的网上运营管理系统。系统实现注册、充值、提现、客服等全自动化功能。采用的USDT匿名支付、阅后即焚的IM客服系统,让皇冠代理的运营更轻松更安全。
      我好佩服

  8. 皇冠会员手机端(www.hg9988.vip)
    皇冠会员手机端(www.hg9988.vip)
    (2022-04-27 00:12:13) 8#


    可以,在看

  9. 皇冠app下载(www.hg9988.vip)
    皇冠app下载(www.hg9988.vip)
    (2022-05-09 00:12:47) 9#

    美国不停要求更多的欧洲国家与美国站在一起打压中国。然则云云做法,真的完全相符欧洲自己的利益吗?德国前总理施罗德撰文称,西方对中国恒久以来坚持的不外是一种道德绑架式的外交政策。欧洲只有确保自己的主导权加倍周全,才可以让欧洲的生长获得更多的时机和利益。超棒,以后就看你

发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。