并没有在官网登陆我的账号,也不是 Chrome 提示想要打开 idea 那种调用,这是怎么知道我本机安装的什么版本,并能通知 ide 进行安装?
1
wysnylc 2020 年 5 月 9 日 没用过 QQ 的 web 加群还是没用过 tg 的加群?
|
3
RubyJack 2020 年 5 月 9 日
url protocol
|
4
Ultraman 2020 年 5 月 9 日 via Android
用 telegram 吗?
用的话点一下这里 https://t.me/nCoV2019 |
5
Ziya 2020 年 5 月 9 日
直接搜索:URL Schemes
了解更多 |
8
also24 2020 年 5 月 9 日 @wysnylc #1
@RubyJack #3 @Ultraman #4 @Ziya #5 你们应该仔细看一下楼主的帖子内容的,楼主已经专门讲了 『也不是 Chrome 提示想要打开 idea 那种调用』,说明并不是 URL Schemes 方式。 我去 https://plugins.jetbrains.com/ 看了下,实际上那个页面是通过请求本地的 WebServer 传递的消息。 也就是 IDE 其实一直开着一个 WebServer 来接收外部指令,前端页面只是在请求这个接口而已。 这是具体的请求: https://i.loli.net/2020/05/09/LbKEMOmHpXRlFPD.png 可以在源码中看到一些请求相关的内容: https://i.loli.net/2020/05/09/o5q3aZnjudJIiVk.png |
10
miao1007 2020 年 5 月 9 日 via iPhone
这种方案 相当于后门了
|
13
also24 2020 年 5 月 9 日 @wysnylc #9
这个页面在刚打开的时候就以空内容请求了这个接口,这个接口会返回当前的 IDE 名称和版本。 如果请求这个接口失败,这个页面后续是不会用这种方式来安装插件的。 @miao1007 #10 IDE 那边应该有校验,我直接 get 这个接口的话会提示是否信任。 以及,IDE 那边并不是静默下载,而是弹出安装提示框而已。 https://i.loli.net/2020/05/09/cwpJUI1Rl7SiuaX.png @1oNflow #11 资源问题还真没太注意,猜测应该不会占用太多,毕竟没有太多复杂的东西在里面。 @iFlicker #12 之前用 Toolbox 的时候就注意到了,它的登录回调也是这样实现的。 |
14
Jirajine 2020 年 5 月 9 日 via Android
这完完全全就是开后门,网页可以通过这种方式逃逸出浏览器沙盒执行代码,要是被那些 xx 联盟 sdk 学去了那还了得。
|
15
charlieputon 2020 年 5 月 9 日 via Android
这个和安卓开发通过 url scheme 调起 activity 好像啊
|
16
jin7 2020 年 5 月 9 日
又学了一招...
|
17
sheeta 2020 年 5 月 9 日 哈哈,腾讯的 qq 登录也是这么干的,不然它怎么知道你电脑上登录了 qq
|
18
sheeta 2020 年 5 月 9 日
|
19
kaedea 2020 年 5 月 9 日 via Android
uri scheme
|
22
Xusually 2020 年 5 月 9 日 浏览器页面和本地 web server 交互,说难听点就是妥妥的后门。之前很多软件都爆了这种漏洞,比如百度的,Zoom 的。
zoom 的我贴一个链接: https://www.infoq.cn/article/zTyeHcfM*6jMjBCYNK4J |
23
hahiru 2020 年 5 月 9 日
>localhost 服务器存在的唯一原因是 Apple 的 Safari 不支持 URI 处理程序。
所以这都是苹果的错! |
24
huage2580 2020 年 5 月 9 日 其实 啊,网页开 webServer 交互通讯,是很常见的歪路子。在安卓这边,微信内置会封杀 url scheme 。某某音乐就是用这种方式拉起播放器的。当时看到的时候,真滴太 6 了
|
26
Jirajine 2020 年 5 月 9 日 via Android
@lshero 那就很糟糕了,据我所知除了 MS 的 uwp 以外没有阻止和 localhost 通讯 /绑定高位端口的机制,防火墙完全管不到。看起来这些端口都是 hardcode 的,可以考虑写一个程序把这些端口都占据并在收到请求时提示用户。
|
30
mmnsghgn 2020 年 5 月 9 日 via iPhone
QQ 的自动登录也是这样的
|