CVE-2025-66460CVE-2025-66460是Lookyloo项目中一个存储型跨站脚本(Stored XSS)漏洞。Lookyloo是一个开源的Web界面工具,允许用户捕获网站页面并以树状结构展示域名之间的调用关系。在1.35.3之前的版本中,该应用存在输入验证缺陷,将未正确转义的值传递给使用正交数据(orthogonal-data)功能的DataTables表格单元格进行渲染。由于用户提交的数据在存储和展示过程中缺少适当的HTML实体编码,攻击者可以注入恶意的JavaScript代码。当其他用户查看包含恶意数据的页面时,这些脚本将在其浏览器上下文中执行,可能导致会话劫持、敏感信息窃取或对页面内容进行篡改等安全风险。该漏洞通过网络远程利用,虽然需要用户交互(如点击链接或访问特定页面),但由于攻击路径简单,危害程度不容忽视。
该漏洞的根本原因在于Lookyloo在处理用户输入时未遵循安全编码最佳实践。具体来说,当用户提交的数据被存储并通过DataTables的正交数据功能展示时,应用程序直接将数据传递给前端渲染层,而没有对特殊字符进行HTML实体转义。攻击者可以通过在输入字段中插入<script>标签或使用事件处理器属性(如onerror、onload等)来注入JavaScript代码。由于这些恶意数据被存储在服务器端并持久化显示,因此属于存储型XSS漏洞。DataTables的正交数据功能允许同一数据源以不同格式呈现给不同组件,但在此场景下未对输出进行适当的上下文转义。漏洞利用的关键在于找到接受用户可控输入的DataTables列,这些列会在弹出视图(popup view)和其他展示位置渲染数据。攻击者需要诱骗目标用户访问包含恶意脚本的页面或触发相关功能,脚本即可在用户浏览器中执行。