骑士CMS模板文件日志存在Getshell漏洞

骑士人才系统是一款基于PHP+MySQL开发的免费、开源的专业人才招聘系统,为个人求职者和企业招聘方提供了信息化解决方案。该系统以其高效执行、自由模板切换、灵活的后台管理功能以及强大的模块功能而备受青睐,成为职场人士和企业HR首选的招聘平台。

然而,在2020年年底,骑士人才系统被曝出存在一个严重的安全漏洞,即模板文件注入漏洞,黑客可以通过在日志中写入木马来获取服务器权限,进而执行恶意代码。

环境与安装:

  • 骑士CMS版本:< 6.0.48
  • PHP版本:7.3
  • MySQL版本:5.7
  • 安装方法:建议使用PHPStudy,可以在网上找到6.0.20版本的安装包。

漏洞复现:

  1. 访问漏洞URL:http://192.168.235.141/index.php?m=home&a=assign_resume_tpl
  2. 构造POST请求:variable=1&tpl=“)?>; ob_flush();?>/r/n<qscms/company_show 列表名=”info” 企业id=”$_GET[‘id’]”/>

此时,会出现报错信息,并将恶意代码写入日志文件中。接下来,黑客可以继续利用模板文件来包含进日志中,最终在根目录生成恶意文件shell.php

解决方法:BaseController.class.php文件的assign_resume_tpl方法中添加如下判断条件:

php复制$pattern = "\.\/|\.\.\/|:|%00|%0a|=|~|@|file|php|filter|resource"; if(preg_match("/".$pattern."/is",$tpl)== 1){ return $this->_empty(); }

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容