关键漏洞信息 受影响产品 名称: Visitor Management System 版本: v1.0 链接: https://projectworlds.in/visitor-management-system-in-php-and-mysql/ 漏洞文件 文件名: query_data.php 漏洞类型 类型: SQL Injection 根因 在 文件中,攻击者可以通过 参数注入恶意代码,并直接在 SQL 查询中使用,而无需适当的清理或验证。这允许攻击者伪造输入值,从而操纵 SQL 查询并执行未经授权的操作。 影响 攻击者可以利用此 SQL 注入漏洞获得未经授权的数据库访问、敏感数据泄露、数据篡改、全面系统控制,甚至服务中断,对系统安全和业务连续性构成严重威胁。 描述 在对“Visitor Management System”的安全审查期间,在 文件中发现了一个关键的 SQL 注入漏洞。该漏洞源于对 参数的用户输入验证不足,允许攻击者注入恶意 SQL 语句。因此,攻击者可以获得未经授权的数据库访问权限,修改或删除数据,并访问敏感信息。需要立即采取修复措施以确保系统安全并保护数据完整性。 漏洞细节和 PoC 漏洞实例:Ionamelon 参数: Payload: - MySQL: RDBMS boolean-based blind WHEREi AND (SELECT 6111 FROM(SELECT(SLEEP(5)))a) AND 'QGmE'= 'QGmE' - MySQL >= 5.0.12 time-based blind: WHEREi AND (SELECT 6111 FROM(SELECT(SLEEP(5)))a) AND 'QGmE'= 'QGmE' 建议修复 1. 使用预处理语句和参数绑定: - 预处理语句可以防止 SQL 注入,因为它将 SQL 代码与用户输入数据分开。 2. 输入验证和过滤: - 严格验证和过滤用户输入数据,以确保其符合预期格式。 3. 最小化数据库用户权限: - 确保连接到数据库的帐户具有最低必要的权限。避免在日常操作中使用具有高级权限(如“root”或“admin”)的帐户。 4. 定期安全审计: - 定期进行代码和系统安全审计,以及时发现和修复潜在的安全漏洞。