从截图中获取的漏洞关键信息 漏洞名称 SQL Injection in Simple Café Ordering System 影响版本 Simple Café Ordering System — local deployment (legacy mysql_ usage; direct $_POST/$_GET concatenation) 漏洞类型 SQL Injection in multiple endpoints (login, registration, order submission, search) 摘要 Multiple PHP endpoints build SQL queries by concatenating untrusted $_POST / $_GET values into SQL strings using the deprecated mysql API. No prepared statements or consistent server-side validation are applied. This permits classic SQL injection (authentication bypass, information disclosure, logic manipulation). The report below gives non-destructive, reproducible PoCs you can run against your local instance to prove the issue and tests to confirm exploitability. 根因 用户输入直接在SQL字符串字面量中使用(例如 "... WHERE username='$username'…")。使用了过时的mysql_函数,并且缺少或不一致的输入转义/验证。这在$_POST/$_GET值到达SQL语句的任何地方都创造了注入点。 影响 认证绕过(登录表单) 数据泄露(读取任意列/表) 业务逻辑操纵(为任意产品下单,篡改会话流程) 根据数据库账户权限,可能的数据修改——尽管本指南避免了破坏性负载 修复建议列表 将mysql_替换为PDO或mysqli,并在任何地方使用预处理语句和绑定参数 在服务器端对输入进行清理和验证(数字ID、枚举等的白名单) 最小权限原则:数据库账户应该具有最小权限 将数据库访问集中到一小层数据访问层中,以减少随意的字符串拼接 添加日志记录,并在热点/慢查询到达时触发(可以指示注入测试) 对任何用户控制的数据进行输出转义以渲染为HTML 概念验证(利用) 提供了非破坏性的概念验证代码,用于确认漏洞存在 包含针对登录、订单和搜索功能的SQL注入利用方法示例 ``` 从这个页面可以了解到该漏洞是SQL注入类型,具体影响了Simple Café Ordering System的登录、注册、订单和搜索等端点,其原因是过时的mysql_*函数使用和缺乏用户输入的验证与转义。页面还提供了漏洞的具体利用方法和修复建议,包括使用预处理语句、输入验证、最小权限原则、日志记录和输出转义等。