骑士人才系统是一款基于PHP+MySQL开发的免费、开源的专业人才招聘系统,为个人求职者和企业招聘方提供了信息化解决方案。该系统以其高效执行、自由模板切换、灵活的后台管理功能以及强大的模块功能而备受青睐,成为职场人士和企业HR首选的招聘平台。
然而,在2020年年底,骑士人才系统被曝出存在一个严重的安全漏洞,即模板文件注入漏洞,黑客可以通过在日志中写入木马来获取服务器权限,进而执行恶意代码。
环境与安装:
- 骑士CMS版本:< 6.0.48
- PHP版本:7.3
- MySQL版本:5.7
- 安装方法:建议使用PHPStudy,可以在网上找到6.0.20版本的安装包。
漏洞复现:
- 访问漏洞URL:
http://192.168.235.141/index.php?m=home&a=assign_resume_tpl
- 构造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
暂无评论内容