V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
工单节点使用指南
• 请用平和的语言准确描述你所遇到的问题
• 厂商的技术支持和你一样也是有喜怒哀乐的普通人类,尊重是相互的
• 如果是关于 V2EX 本身的问题反馈,请使用 反馈 节点
imdong
V2EX  ›  全球工单系统

致所有 UserScript 开发者与用户,请检查你开发/使用的脚本是否有这样的漏洞。

  •  
  •   imdong · 2020-05-26 15:01:20 +08:00 · 1835 次点击
    这是一个创建于 1640 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如果你开发 /使用的 UserScript 脚本中申请了 GM_xmlhttpRequest 权限,请检查是否有将 GM_xmlhttpRequest 函数传入了 unsafeWindow

    如果有,则使用此脚本的用户在访问有恶意的内容的网站时,可能会导致 @connect 中授权的网站受到攻击或控制。

    首当其冲的是 GreasyFork 等类似网站上发布过脚本的开发者,请不要保持登录

    虽然不知道是否有这样的脚本攻击,但的确可以实现通过修改你的脚本来传播漏洞 /恶意脚本的风险。

    GreasyFork may cause users who use vulnerable UserScript to be attacked when visiting malicious websites.

    不太确认这样说是不是有点小题大做,但是是有一定风险的,特别是 GreasyFork 修改密码还不需要确认旧密码。

    4 条回复    2020-05-26 17:05:32 +08:00
    dbw9580
        1
    dbw9580  
       2020-05-26 16:13:32 +08:00 via Android   ❤️ 1
    https://wiki.greasespot.net/UnsafeWindow
    这是 feature,不是 bug
    Mutoo
        2
    Mutoo  
       2020-05-26 16:20:29 +08:00
    所以叫 unsafe* 是有原因的。
    imspace
        3
    imspace  
       2020-05-26 16:31:59 +08:00
    讲道理没什么人会这么写吧.... unsafeWindow.GM_xmlhttpRequest = GM_xmlhttpRequest, UserScript 自己有自己的 scope, 为什么还要放到原 window 里?
    imdong
        4
    imdong  
    OP
       2020-05-26 17:05:32 +08:00
    @dbw9580 有些开发者可能并不知道这个警告。

    @Mutoo 我在 Tampermonkey 中测试,window 和 unsafeWindow 是等效的。有可能是开发者的无意之举

    @imspace 正是因为我发现有这样的脚本,所以才特别关注了这件事。

    我是发现了一个安装量不算小的脚本有这样的问题,才发出来的。

    而这个问题已经反馈给脚本的开发者了,脚本的开发者也在论坛上。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4263 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 01:03 · PVG 09:03 · LAX 17:03 · JFK 20:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.