1.2 KiB
1.2 KiB
SQL 注入漏洞整改说明(tenantId)
背景
攻防演练报告指出智慧校园(mobile H5:ykt.hzdyjsxy.cn:18081/#/)存在 SQL 注入,可拖取 sys_user / sys_config 等数据。
实际利用入口为后端免登接口 POST /prod-api/auth/register 的 tenantId 字段,经多租户插件拼入 SQL(与 RuoYi-Vue-Plus XVE-2026-50962 同类问题)。
整改内容(2026-09-17)
| # | 措施 | 改动位置 |
|---|---|---|
| 1 | sink 白名单:租户 ID 仅允许 ^[0-9]{1,20}$,非法直接抛错,不拼 SQL |
PlusTenantLineHandler、TenantHelper.checkTenantIdFormat |
| 2 | 注册接口先 checkTenant,再查注册开关 |
AuthController.register |
| 3 | 所有 TenantHelper.dynamic/setDynamic 入口统一格式校验;登录 checkTenant 增加格式校验 |
TenantHelper、SysLoginService.checkTenant |
| 4 | 删除心理咨询调试任意 SQL 接口 | 删除 XljkConsultationDebugController |
发布注意
- 需重新编译并发布 backend 后生效;仅发 mobile 前端无效。
- 建议同步轮换初始密码、微信 AppSecret,并审计异常访问。
- 生产环境确认
sys.account.registerUser=false(关闭开放注册)。