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

2020-05-26 15:01:20 +08:00
 imdong

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

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

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

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

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

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

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

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

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

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

而这个问题已经反馈给脚本的开发者了,脚本的开发者也在论坛上。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/675616

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX