Apereo CAS 4.1 反序列化 RCE 漏洞

0x01漏洞概述

​Apereo CAS 是一个企业单点登录系统。CAS 尝试通过 Apache Commons Collections 库反序列化对象时存在问题,该漏洞存在 RCE 漏洞。

漏洞原理:

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);
    }

0x02影响版本

Apereo CAS <= 4.1.7

0x03漏洞环境

1、启动漏洞环境

docker-compose up -d

2、访问漏洞环境

http://your-ip:8080/cas/login

3、复现完成后,删除漏洞环境

docker-compose down

0x04复现过程

1、账号密码任意输入,利用burpsuite工具抓包

2、下载工具地址

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

下载完成后,再攻击机上运行该代码,生成payload

3、将execution参数替换成payload

看返回包信息,攻击成功。

4、可以发现靶机上添加一个achen文件

posted @ 2022-05-05 22:30  RichardYg  阅读(462)  评论(0编辑  收藏  举报