CVE-2024-44635CVE-2024-44635是PHPGurukul学生记录系统3.20版本中存在的一个存储型跨站脚本攻击(Stored XSS)漏洞。该漏洞位于管理员个人资料管理页面(admin-profile.php),攻击者可以通过在adminname(管理员姓名)和aemailid(管理员邮箱)参数中注入恶意JavaScript代码来实现持久化的客户端攻击。由于该漏洞属于存储型XSS,恶意脚本会被永久存储在服务器端数据库中,所有访问该管理员资料页面的用户都会自动执行攻击者植入的恶意代码。根据CVSS 3.1评分标准,该漏洞的评分为6.1,属于中等严重程度。攻击向量为网络传播,无需特殊权限,但需要用户交互才能触发。攻击成功后,攻击者可以窃取用户会话cookie、劫持用户账户、进行钓鱼攻击或传播恶意软件。由于学生记录系统通常包含学生个人信息,该漏洞可能导致大规模敏感数据泄露,对教育机构的信息安全构成严重威胁。
该漏洞的根本原因在于admin-profile.php页面在处理adminname和aemailid参数时缺乏充分的输入验证和输出编码。攻击者可以在管理员资料更新功能中注入包含<script>标签的恶意JavaScript代码,例如:<script>alert(document.cookie)</script>。由于应用程序未对用户输入进行HTML实体编码,这些恶意脚本会被直接存储到数据库中。当其他管理员或用户访问该资料页面时,服务器会从数据库中检索并输出这些未经过滤的数据,导致浏览器将其作为可执行脚本解析。攻击者利用此漏洞可以构造复杂的攻击链:首先通过XSS获取受害者的会话令牌,然后利用窃取的会话冒充合法管理员身份进行操作,包括修改系统配置、添加恶意管理员账户或访问敏感学生数据。该漏洞的技术特点包括:攻击代码存储在服务器端,持久性强;影响所有访问该页面的用户;利用条件简单,只需诱导用户访问特定页面即可触发。防御此类漏洞需要采用多层防护策略,包括输入验证、输出编码和内容安全策略(CSP)的综合应用。