以下是从网页截图中获取到的关于漏洞的关键信息: ### 名称 - **漏洞名称**: Sourcecodester Online Student Clearance System Project V1.0 /Admin/changepassword.php SQL injection ### 受影响产品 - **产品名称**: Online Student Clearance System - **供应商主页**: https://www.sourcecodester.com/php/17892/online-clearance-system.html ### 受影响版本 - **版本**: V1.0 ### 软件链接 - https://www.sourcecodester.com/sites/default/files/download/Senior%20Walter/student_clearance_system_aurthur_javis.zip ### 漏洞类型 - **类型**: SQL injection ### 根本原因 - SQL 注入漏洞存在于 `/Admin/changepassword.php` 文件中。原因是 `txtconfirm_password` 参数没有进行适当的清理或验证,直接用于 SQL 查询。 ### 影响 - 攻击者可以利用此 SQL 注入漏洞进行未经授权的数据库访问、敏感数据泄露、数据篡改、全面系统控制和甚至服务中断,对系统安全和业务连续性构成严重威胁。 ### 漏洞描述及 reproducing - 漏洞位于 `/Admin/changepassword.php` 文件中,当表单提交时,`txtconfirm_password` 参数获取的管理员密码被用于 SQL 更新语句直接修改数据库中的内容。 ### 漏洞详情和 POC ```php $sql = "update admin set `password`='$confirm_new' where username='".$admin_username."';"; ``` - 黑客可以利用 `txtconfirm_password` 参数注入恶意 SQL 代码,以控制页面响应时间。 - 所有配置信息包含在测试与 BurpSuite 运行的过程中获取。 ### 建议修复 1. **使用预编译语句和参数绑定**:预编译语句可以防止 SQL 注入,避免将用户输入解释为 SQL 代码。 2. **输入验证和过滤**:严格验证并过滤用户输入以符合预期格式。 3. **最小化数据库用户权限**:确保数据库连接账户具有最小必要权限。 4. **定期安全审计**:定期进行代码和系统安全审计以及时发现和修复潜在的安全漏洞。