CVE-2025-60311CVE-2025-60311是ProjectWorlds Gym Management System 1.0版本中存在的一个高危SQL注入漏洞。该漏洞位于profile/edit.php页面中的"id"参数处,由于程序未对用户输入进行充分的过滤和参数化处理,攻击者可以通过构造恶意的SQL语句注入到数据库查询中。该漏洞的CVSS 3.1评分为8.8分,属于高危级别,攻击者可以通过网络远程利用该漏洞,仅需低权限认证即可发起攻击,且无需用户交互。漏洞的成功利用可能造成数据库信息泄露、数据篡改乃至服务器被完全控制等严重后果。ProjectWorlds Gym Management System是一款基于PHP开发的健身房管理系统,广泛用于管理会员信息、课程安排、教练管理等业务。该系统的开源特性使其在中小型健身房和教育领域有较多用户。一旦该漏洞被恶意利用,可能导致大量用户的个人敏感信息(如姓名、联系方式、健康数据等)泄露,对企业和用户造成重大损失。该漏洞已于2025年10月8日公开披露,引起了安全社区的广泛关注。
该漏洞的根因在于profile/edit.php页面在处理用户提交的"id"参数时,未使用预编译参数化查询(Prepared Statements)或对输入进行严格的过滤与转义,而是直接将用户输入拼接到SQL查询语句中执行。攻击者可以通过在HTTP请求中构造特殊的SQL注入payload,例如在id参数后追加' OR '1'='1等经典注入语句,或者使用UNION SELECT联合查询来提取数据库中的敏感信息。具体利用方式如下:攻击者首先访问profile/edit.php页面,捕获正常请求中的id参数值,然后将该参数替换为恶意SQL注入语句。由于该漏洞需要低权限认证(PR:L),攻击者需要先获取一个普通用户账号,然后通过该账号登录系统后,利用编辑个人资料的功能点,将恶意SQL语句注入到id参数中。服务器端在拼接SQL语句时,恶意代码将被数据库引擎解析执行,从而实现未授权的数据访问或修改。攻击者还可以利用时间盲注(Time-based Blind SQLi)或布尔盲注(Boolean-based Blind SQLi)技术,在不直接回显数据的情况下逐步提取数据库信息。此外,利用SQL注入还可以进一步执行数据库管理系统的扩展功能,如在MySQL中通过INTO OUTFILE写入Webshell,实现远程代码执行。