关键信息 漏洞类型 SQL Injection 发现者 Sabin Thomas 影响产品 名称: Grocery List Management Web App 版本: All versions up to the latest tested (2025-08-23) 组件: update.php (id parameter) 服务器: XAMPP 8.2.4 数据库: MySQL/MariaDB 10.x 浏览器: Chrome 158 漏洞描述 存在SQL注入漏洞,用户控制的输入直接拼接到SQL语句中,未进行适当的验证或参数化。 攻击者可以执行任意SQL命令,导致认证绕过、数据泄露和可能的数据库完全控制。 复现步骤 1. 恶意HTTP请求 - 发送特定的HTTP请求到update.php端点。 - 示例请求包含恶意的SQL注入字符串。 2. 观察结果 - 应用程序返回SQL语法错误,确认存在SQL注入。 3. 利用sqlmap - 使用自动化工具sqlmap成功枚举数据库名。 - 确认目标数据库 和表 ,并提取数据。 影响 认证绕过: 可能绕过登录逻辑。 信息泄露: 攻击者可枚举数据库模式、版本和敏感记录。 数据操纵: 未经授权修改或删除购物清单项。 数据库妥协: 进一步利用可能导致后端数据库完全控制。 CVSS v3.1基本分数: 9.1 (严重) 建议 替换动态SQL为预编译语句(参数化查询)。 应用严格的服务器端验证确保id为数字。 使用最小权限数据库账户减少影响。 应用输出编码防止错误消息中的数据泄露。 部署Web应用防火墙(WAF)作为额外的安全措施。