极光推送官方 Nodejs SDK 竟然 eval 去执行从服务器传回来的代码 还“聪明”地用括号括起来,呵呵 https://github.com/jpush/jpush-api-nodejs-client/blob/master/lib/JPush/JPush.js#L448
![]() | 1 fyibmsd 2017-03-06 23:20:26 +08:00 这代码牛逼坏了 |
![]() | 2 bdbai 2017-03-06 23:37:01 +08:00 via Android 在那个 JSON 还没被浏览器广泛兼容的年代, eval 加括号解析 JSON 是很常见的事... |
3 DoraJDJ 2017-03-06 23:40:05 +08:00 via Android @bdbai 不过现在用 JSON.parse 就能解析 JSON 了,如果还在用老掉牙的 eval 会不会造成漏洞利用? |
![]() | 4 SourceMan 2017-03-06 23:45:54 +08:00 via iPhone 没毛病 |
5 iamaprin 2017-03-07 00:10:21 +08:00 已经修改了,官方动作有点快 |
![]() | 7 qfdk PRO 要是不改 n 个服务器又会背沦陷了 :) |
![]() | 8 wangjie 2017-03-07 00:33:03 +08:00 via iPhone 已经改了 666 |
![]() | 9 xiezefan 2017-03-07 01:35:02 +08:00 原谅提交这行代码的那位可怜的爪哇程序猿...... |
10 coderzheng 2017-03-07 10:03:38 +08:00 奇怪, V 站没改主题啊,为啥这个页面打开是黑色背景的。 |
![]() | 11 run2 2017-03-07 12:20:09 +08:00 @coderzheng #9 节点自带主题 blame 找到了的“罪魁祸首” https://github.com/jpush/jpush-api-nodejs-client/commit/d2b5ce94c9f2cc240c602f49a00cfb9005b47970 |
12 jych1224 2017-03-07 16:43:25 +08:00 我想知道你是如何发现的 |
![]() | 14 RenzHoly OP @jych1224 它们的服务器出了问题,发出来一个不完整的 json , eval 出错,导致我们的服务重启。看日志发现的 |
![]() | 15 Fontaine 2017-03-10 18:29:32 +08:00 我想说 468 行 if (method === 'POST' || method === 'post') 你就是不会 method.toLowerCase() === 'post' 吗 |