极光推送辣鸡

2017-03-06 20:59:57 +08:00
 RenzHoly

极光推送官方 Nodejs SDK 竟然 eval 去执行从服务器传回来的代码 还“聪明”地用括号括起来,呵呵 https://github.com/jpush/jpush-api-nodejs-client/blob/master/lib/JPush/JPush.js#L448

4524 次点击
所在节点    Node.js
15 条回复
fyibmsd
2017-03-06 23:20:26 +08:00
这代码牛逼坏了
bdbai
2017-03-06 23:37:01 +08:00
在那个 JSON 还没被浏览器广泛兼容的年代, eval 加括号解析 JSON 是很常见的事...
DoraJDJ
2017-03-06 23:40:05 +08:00
@bdbai 不过现在用 JSON.parse 就能解析 JSON 了,如果还在用老掉牙的 eval 会不会造成漏洞利用?
SourceMan
2017-03-06 23:45:54 +08:00
没毛病
iamaprin
2017-03-07 00:10:21 +08:00
已经修改了,官方动作有点快
RenzHoly
2017-03-07 00:13:29 +08:00
@bdbai 但这里是 node
qfdk
2017-03-07 00:25:54 +08:00
要是不改 n 个服务器又会背沦陷了 :)
wangjie
2017-03-07 00:33:03 +08:00
已经改了 666
xiezefan
2017-03-07 01:35:02 +08:00
原谅提交这行代码的那位可怜的爪哇程序猿......
coderzheng
2017-03-07 10:03:38 +08:00
奇怪, V 站没改主题啊,为啥这个页面打开是黑色背景的。
sobigfish
2017-03-07 12:20:09 +08:00
jych1224
2017-03-07 16:43:25 +08:00
我想知道你是如何发现的
bdbai
2017-03-07 18:16:54 +08:00
@DoraJDJ @RenzHoly 确实有安全问题,只是看到楼主一脸诧异的样子...
RenzHoly
2017-03-09 20:51:26 +08:00
@jych1224 它们的服务器出了问题,发出来一个不完整的 json , eval 出错,导致我们的服务重启。看日志发现的
Fontaine
2017-03-10 18:29:32 +08:00
我想说 468 行 if (method === 'POST' || method === 'post') 你就是不会 method.toLowerCase() === 'post' 吗

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

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

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

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

© 2021 V2EX