seacms v9.92变量覆盖导致越权

文章详细介绍了SeacmsV9.92版本存在的全局变量覆盖漏洞,该漏洞允许攻击者通过覆盖SESSION和FILES类的变量实现越权,包括如何利用该漏洞修改管理员ID和用户组ID以获取管理员权限。漏洞源于common.php文件的安全检查疏漏,修复方法是完善变量过滤机制。

seacms v9.92变量覆盖导致越权

漏洞详情

seacms v9.92 及以前版本均存在全局的变量覆盖漏洞,在common.php文件中未对注册的全局变量做完整的安全检查。这里参考:https://xz.aliyun.com/t/6192和https://www.freebuf.com/articles/web/210902.html 对变量覆盖实现越权操作,来学习代码审计,文章使用的是v9.92版本。

漏洞审计分析

在披露这处变量覆盖导致越权的漏洞之前,其实官方就对这里注册变量加强了安全检查。v9.92版本这里漏掉了 _SESSION、_FILES两类。

在common.php中,先在_RunMagicQuotes将用户提交的参数及其值注册为变量和变量值

在这里插入图片描述

然后提交到foreach函数中检查,过滤掉一些非法类型的变量。在v9.92版本仅仅是漏掉了SESSION、FILES。而在之前的版本中就只过滤了cfg、GLOBALS

v9.92

在这里插入图片描述

v9.2
在这里插入图片描述

我这里没找到V9.92的源码,以V9.2版本演示了

common.php文件有很多页面都包含了,其中的注册全局变量的功能可以说非常常用,加上安全过滤时漏掉SESSION类的变量,只要找到使用 session_start 并包含 include/common.php 文件的地方,就可以覆盖 session

找到cms对管理员登录验证的地方
在这里插入图片描述

这里会对两个参数进行校验,有趣的是用了一个0R,我们只要满足一个条件就可以了

$_SESSION[‘hashstr’]的值是用管理员密码、数据库名和密码在采用MD5加密形成的,这个不好猜(我要是知道就直接登录了,还越权干嘛)

那就只剩下$cuserLogin->getUserID(),跟进这个函数

在这里插入图片描述

seacms海洋cms影视管理系统 v9.1 更新日志 更新日期:2019年2月1日 v9.1 优化:服务器开启OPcache时后台设置兼容性 优化:视频编辑时剧情分类显示方式 优化:剧情分类缓存项 seacms海洋影视管理系统简介 海洋影视管理系统(seacms,海洋cms)是一套专为不同需求的站长而设计的视频点播系统,灵活,方便,人性化设计简单易用是最大的特色,是快速架设视频网站首选,只需5分钟即可建立一个海量的视频讯息的行业网站。 海洋cms采用PHP MYSQL架构,原生PHP代码带来卓越的访问速度和负载能力免去您的后顾之优。海洋cms支持一键转换原max的模板和数据,实现网站无缝迁移到新平台。众多人性化功能设计,超前定时执行任务,让您处理数据得心应手,您只需要专心做内容运营,其它的交给我们。 为符合SEO要求开发大量功能,比如百度结构化数据生成,搜索引擎地图等。全新设计的专题管理,同时支持按分类 扩展分类 剧情分类三种分类模式组合,让网站内容与众不同。简单易用丰富的模板标签,方便网站模板设计制作,让网站更显专业。 海洋cms是基于PHP MySql技术开发的开源CMS,完全开源 、没有任何加密代码,强劲功能、卓越性能、安全健壮。超级易用、模板众多、插件齐全、资源丰富。构架稳健,平滑升级。 seacms海洋影视管理系统前台页面 seacms海洋影视管理系统后台管理 后台路径:域名//admin 用户名与密码:admin(安装时可设置) 后台页面:  相关阅读 同类推荐:站长常用源码
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值