【代审 复现】基于JAVA的某开源OA后台Rce代码审计

admin 2025年1月9日10:03:44评论10 views字数 1399阅读4分39秒阅读模式
【代审 复现】基于JAVA的某开源OA后台Rce代码审计

提及

【代审 复现】基于JAVA的某开源OA后台Rce代码审计

     这是记录去年加入X渡团队时学习的一篇代码审计还原;X网OA的后台Fastjson反序列化RCE漏洞,当时也是跟着relay师傅的教程进行还原由于这是开源源码不需要进行反编译等操作,搭建好即可开始审计复现;如果是日常拿到源码后发现相关关键字搜索不到的一般就俩种。1、jar包没反编译;2、class文件没反编译。这种情况直接用cfr工具反编译即可。倘若想用拿到编译后的源码进行重新搭建的,最好需要有sql文件,当然,即使有了重新完整搭建起来也是个费时费力的事,各种数据清洗,各种修改,很麻烦。

    下面有相关的下载地址,或者联系后台即可发送相关反编译工具及使用教程。

下载地址:https://github.com/cloudwebsoft/ywoa

后台回复:250109

    以下均为实验环境,全部操作在本电脑及虚拟机中进行,已联系开发者并取得同意还原历史漏洞。

【代审 复现】基于JAVA的某开源OA后台Rce代码审计

环境安装

【代审 复现】基于JAVA的某开源OA后台Rce代码审计
    将下载好的源码导入进IDEA当中后,进入设置,搜索maven,设置好你的maven配置,作者的maven源进行修改过,替换成了ali源,百度可查如何修改【本次环境为jdk1_8_0_181,maven:3 9 9】。
【代审 复现】基于JAVA的某开源OA后台Rce代码审计
    设置完成后刷新以下maven重载以下,确保pom中内容没有爆红。
【代审 复现】基于JAVA的某开源OA后台Rce代码审计
    后面无非就是更改相应的配置文件,导入SQL等;具体教程点击下方链接即可:
http://partner.yimihome.com/static/index.html#/index/idea_deploy8#nav.0.7
【代审 复现】基于JAVA的某开源OA后台Rce代码审计

审计还原

【代审 复现】基于JAVA的某开源OA后台Rce代码审计
【代审 复现】基于JAVA的某开源OA后台Rce代码审计

    经过一系列的操作将环境搭建起来后即可开始正式审计,可以在pom文件中看到所需的依赖中存在Fastjson-1.2.37,这是在漏洞版本以内的;但是首先可以排除了BCEL这条链,改链使用

【代审 复现】基于JAVA的某开源OA后台Rce代码审计

    因此我们只需锁定好哪里调用了jsonobject.parseobject即可,另外还要确保其参数是可控的,最好是直接控制。

    通过一番查找可以看到/setup/updateUiSetup接口中有可以直接控制的参数,参数名为uiSetup; 该漏洞为后台漏洞,因此需要进行登录操作获取到Cookie。

【代审 复现】基于JAVA的某开源OA后台Rce代码审计

       这里分享一个技巧,在黑盒中不确定版本信息可以使用延时等条件判断。

【代审 复现】基于JAVA的某开源OA后台Rce代码审计
【代审 复现】基于JAVA的某开源OA后台Rce代码审计

    如上图所示,当ldap地址为服务器本身时几乎没延迟,但是填写一个不存在的地址时会发现延时非常高,这说明Fastjson的版本是低于1.2.47的,更细致的版本可参照下面资料

https://www.bilibili.com/opus/1004276539121991686

    最后则是构造链子,在Fastjson中,如果服务器为Linux且出网,那么市面上的一些链子,可以直接尝试jdbcrowSetImpl这条链子反弹,以及BCEL本地加载,同一个接口视条件而看可以有很多链子【但均属于同个漏洞】,可以看看对应的Fastjson对抗史及相关链子分析;这里不在赘述。

    由于使用的是Windows环境搭建的,直接ldap反弹shell不现实,因此这里准备使用的是JdbcRowSetImpl,进行远程恶意加载,从本地写好恶意类,并编译为class。

【代审 复现】基于JAVA的某开源OA后台Rce代码审计

    编译完成后,需要在本机开启http服务

【代审 复现】基于JAVA的某开源OA后台Rce代码审计

    最后,将构造好的payload进行发送,成功接收到请求。

【代审 复现】基于JAVA的某开源OA后台Rce代码审计
【代审 复现】基于JAVA的某开源OA后台Rce代码审计
【代审 复现】基于JAVA的某开源OA后台Rce代码审计
【代审 复现】基于JAVA的某开源OA后台Rce代码审计

最后

【代审 复现】基于JAVA的某开源OA后台Rce代码审计
【代审 复现】基于JAVA的某开源OA后台Rce代码审计

原文始发于微信公众号(Tab Sec):【代审 复现】基于JAVA的某开源OA后台Rce代码审计

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月9日10:03:44
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【代审 复现】基于JAVA的某开源OA后台Rce代码审计https://cn-sec.com/archives/3609282.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息