关键漏洞信息 受影响产品 产品名称: Travel Management System 版本: V1.0 受影响文件: addcategory.php 漏洞类型 类型: SQL 注入 根因 由于在 文件中对参数 的用户输入验证不足,攻击者可以注入恶意代码并直接在 SQL 查询中使用,而无需适当的清理或验证。这允许攻击者伪造输入值,操纵 SQL 查询并执行未经授权的操作。 影响 攻击者可以利用此 SQL 注入漏洞实现未经授权的数据库访问、敏感数据泄露、数据篡改、全面系统控制,甚至服务中断,对系统安全和业务连续性构成严重威胁。 描述 在审查 "Travel Management System" 时,发现了一个关键的 SQL 注入漏洞,位于 文件中。此漏洞源于对 参数的不充分用户输入验证,允许攻击者注入恶意的 SQL 查询。因此,攻击者可以获得对数据库的未经授权访问,修改或删除数据,并访问敏感信息。需要立即采取补救措施以确保系统安全并保护数据完整性。 漏洞细节和 PoC 易受攻击的参数: t1 Payload: - Parameter: t1 (POST) - Type: time-based blind - Title: MySQL >= 5.0.12 RLIKE time-based blind - Payload: 1' AND SLEEP(5) AND '1'='1 建议修复 1. 使用预处理语句和参数绑定: 预处理语句可以防止 SQL 注入,因为它们将 SQL 代码与用户输入数据分开。当使用预处理语句时,用户输入的值被视为纯数据,不会被解释为 SQL 代码。 2. 输入验证和过滤: 严格验证和过滤用户输入数据,确保其符合预期格式。 3. 最小化数据库用户权限: 确保连接到数据库的帐户具有最低必要的权限。避免使用具有广泛权限(如 root 或 admin)的帐户进行日常操作。 4. 定期安全审计: 定期进行代码和系统安全审计,以及时识别和修复潜在的安全漏洞。