CVE-2025-62177CVE-2025-62177是WeGIA开源Web管理系统中存在的一个高危SQL注入漏洞。WeGIA是一款专注于葡萄牙语用户的开源机构管理平台,广泛应用于各类组织的日常管理工作中。该漏洞存在于版本3.5.1之前的WeGIA系统中,具体位于/html/funcionario/dependente_listar.php端点的id_funcionario参数处。由于该参数未经过充分的输入验证和参数化处理,攻击者可以通过构造恶意的SQL语句注入到数据库查询中,从而执行任意SQL命令。
该漏洞的CVSS评分为8.8分,属于高危级别。其攻击向量为网络(AV:N),攻击复杂度低(AC:L),仅需要低权限认证(PR:L),无需用户交互(UI:N),对机密性、完整性和可用性均产生高影响(C:H/I:H/A:H)。这意味着攻击者一旦成功利用该漏洞,将能够完全控制底层数据库,读取敏感数据、修改或删除数据,甚至可能导致整个系统不可用。
该漏洞已由GitHub安全顾问团队发现并报告,WeGIA开发团队在3.5.1版本中修复了此问题。建议所有使用WeGIA 3.5.1之前版本的用户尽快升级到最新版本,以避免潜在的安全风险。
该SQL注入漏洞的根本原因在于/html/funcionario/dependente_listar.php端点对id_funcionario参数的处理不当。在正常的业务流程中,该参数用于查询指定员工的家属(dependente)信息,但开发人员在实现该功能时直接将用户输入的id_funcionario参数拼接到SQL查询语句中,而未使用预编译语句(Prepared Statements)或参数化查询,也未实施充分的白名单验证或输入过滤。
攻击者可以通过在id_funcionario参数中注入SQL元字符(如单引号'、UNION、SELECT等)来改变原始查询的语义。例如,攻击者可以构造如下payload:
id_funcionario=1' UNION SELECT username,password FROM users-- -
当该payload被发送到服务器时,后端数据库将执行攻击者构造的联合查询,从而泄露用户表中的敏感凭据信息。攻击者还可以利用该漏洞执行时间盲注(Time-based Blind SQLi)或布尔盲注(Boolean-based Blind SQLi),在无明显错误回显的情况下逐步提取数据库中的所有数据。
由于该漏洞仅需要低权限认证即可利用(PR:L),意味着攻击者需要拥有系统的一个有效账户(如普通用户账户),这大大降低了攻击门槛。一旦攻击者获取了任意有效账户,便可利用此漏洞进行权限提升和数据窃取。