关键信息 受影响的产品 在线课堂记录系统 产品官网 https://www.sourcecodester.com/php/12995/online-class-record-system-using-phpmysql.html 影响的版本或修复的版本 V1.0 软件链接 https://www.sourcecodester.com/download-code?nid=12995&title=Online+Class+Record+System+Using+PHP%2FMySQL 漏洞类型 SQL 注入 根源 在 'Online Class Record System' 项目的 '/admin/login.php' 文件中发现了一个 SQL 注入漏洞。问题是攻击者可以注入恶意代码,直接在 SQL 查询中使用 'user_email' 参数的值,而不需要适当的清理或验证。这使得攻击者可以伪造输入值,操纵 SQL 查询并执行未经授权的操作。 影响 攻击者可以利用此 SQL 注入漏洞获得未经授权的数据库访问、敏感数据泄露、数据篡改、全面系统控制,甚至服务中断,对系统安全和业务连续性构成严重威胁。 描述 在对 "Online Class Record System" 的安全审查过程中,在 "/admin/login.php" 文件中发现了一个关键的 SQL 注入漏洞。该漏洞源于 'user_email' 参数的用户输入验证不足,允许攻击者注入恶意 SQL 查询。因此,攻击者可以无需登录或授权即可非法访问数据库、修改或删除数据以及访问敏感信息。 漏洞详情与 POC 漏洞名称:'user_email' 参数 有效载荷 实际利用截图 建议修复 1. 使用预处理语句和参数绑定: - 预处理语句可以防止 SQL 注入,因为它们将 SQL 代码与用户输入数据分离。使用预处理语句时,用户输入的值被视为单纯的数据,而不被解释为 SQL 代码。 2. 输入验证和过滤: - 严格验证并过滤用户输入数据,确保其符合预期格式。 3. 最小化数据库用户权限: - 确保连接到数据库的帐户具有最少的必要权限,避免在日常操作中使用具有高级权限的帐户(如 'root' 或 'admin')。 4. 定期安全审计: - 定期进行代码和系统安全审计以迅速识别并修复潜在的安全漏洞。