关键信息 漏洞概述 漏洞类型: 时间盲注SQL注入(Time-Based Blind SQL Injection) 受影响产品: 医院管理系统 v4.0 厂商: PHP GuruKul 受影响文件: 受影响参数: 漏洞详情 描述: 该漏洞存在于 参数中,允许攻击者通过触发数据库响应中的时间延迟来执行任意SQL命令。 复现步骤 1. 访问易受攻击的URL - 启用Burp Suite并配置浏览器以拦截HTTP流量。 - 访问医生登录页面并进行身份验证,然后在搜索栏中搜索任何内容,这将重定向到 。 - 在请求中添加单引号以触发中断。 2. 拦截请求 - 使用Burp Suite的Repeater模块发送拦截的请求。 - 在 字段中添加一个单引号以识别注入点。 - 保存修改后的HTTP请求作为 用于SQLMap。 3. 手动利用(不推荐) - 使用特定的payload在 字段中手动测试基于时间和基于布尔的SQL注入。 4. 使用SQLMap自动化利用 - 打开Kali Linux终端并运行: - 该命令使用 请求文件,并尝试枚举数据库。 修复建议 1. 使用预编译语句:避免直接拼接用户输入的动态SQL查询。 2. 输入验证与清理:实现严格的输入验证和清理,拒绝包含SQL元字符的输入。 3. 最小权限原则:确保应用程序使用的数据库账户仅具有最低必要的权限。 4. Web应用防火墙(WAF):部署WAF以检测和阻止恶意SQL查询。 5. 错误处理:抑制详细的数据库错误信息,防止泄露敏感信息。