CVE-2025-66458Lookyloo是一款Web界面工具,允许用户捕获网站页面并以树状结构展示域名之间的调用关系。该工具在1.35.3版本之前存在多个跨站脚本(XSS)漏洞,源于在Markup中不安全地使用Python f-strings进行字符串格式化。攻击者可以通过构造恶意的第三方服务器,响应包含JavaScript代码的JSON文档来利用此漏洞。当用户访问或捕获包含恶意内容的页面时,攻击者可以在用户浏览器上下文中执行任意JavaScript代码,从而窃取用户会话cookie、劫持用户账户或进行其他恶意操作。由于该漏洞需要用户交互触发,攻击复杂度较低,但潜在影响范围较广,涉及机密性和完整性风险。官方已在1.35.3版本中修复了此问题,强烈建议所有用户立即升级。
该漏洞的根本原因在于Lookyloo在处理第三方服务器响应时,不当使用了Python f-strings将数据插入到HTML Markup中。当第三方服务器响应包含JSON文档且其中嵌入了script元素的JavaScript代码时,这些代码会被直接渲染到页面上而未经适当转义。具体来说,攻击者可以控制第三方服务器,使其返回形如包含<script>alert(document.domain)</script>的JSON响应,Lookyloo在解析和展示这些响应时会将恶意脚本执行。攻击者需要诱导目标用户访问特制链接或捕获包含恶意内容的页面。成功利用后,攻击者可获取用户Cookie、执行任意DOM操作、窃取敏感信息或进行进一步的攻击。由于f-strings在处理用户可控数据时的安全性问题,导致了存储型XSS和反射型XSS的多种变体。修复方案采用安全的方式处理用户输入,如使用模板引擎的自动转义功能或手动对特殊字符进行HTML实体编码。