关键漏洞信息 发现者 Camilla Flocco 影响产品 Simple Public Chat Room 1.0 产品供应商 SourceCodester 漏洞类型 Cross-Site Scripting (XSS) 描述 存在一个跨站脚本(XSS)漏洞,在SourceCodester Simple To-Do List System 1.0的"添加任务"文本输入中。经过身份验证的用户可以提交未正确清洗或编码的HTML/JavaScript。注入的脚本被存储并随后在任何查看任务的用户的浏览器中呈现,允许在受害者浏览器的上下文中执行任意脚本。 攻击向量 经过身份验证的用户可以提交未正确清洗的HTML/JavaScript。注入的脚本被存储并在任何查看任务的用户的浏览器中呈现,允许在受害者浏览器的上下文中执行任意JavaScript。 攻击类型:远程 影响——代码执行:是 影响——信息泄露:是 再现步骤 1. 登录后,这是你的视图。 2. 点击添加任务,添加你的脚本并从日历中选择一个随机日期。 3. 点击加号按钮。添加你的脚本并从日历中选择一个随机日期。 4. 点击按钮,你将收到任何我在脚本中选择写的内容。 影响 会话Cookie的窃取和可能的帐户接管(如果会话Cookie没有HttpOnly/Secure保护)。 代表用户执行操作(类似CSRF的行为)。 用户界面操作和篡改。 通过向经过身份验证的用户呈现虚假用户界面进行定向钓鱼。 泄露对用户可见的数据。 缓解措施 对输出的用户提供的数据进行编码/转义。 - 使用PHP中的htmlspecialchars()。 服务器端验证和输入的规范化。 如果必须允许标记,使用维护良好的清理器/白名单库,例如HTML Purifier。 实施内容安全策略(CSP),以限制注入脚本的影响。 使用HttpOnly和Secure标志对会话Cookie进行保护。