【发布时间】:2020-08-30 08:32:44
【问题描述】:
我有一个私人客户端将我的服务器 javascript 作为要执行的字符串发送。这是按预期工作的,但是,每次我将 JS 的有效负载发送到服务器时,内存都会增加,但我的内存使用量永远不会下降。
这里是 node.js 代码:
app.post(`/`, (req, res) => {
const final = req.body.toString();
function executeJS(str) {
return new Function(`'use strict'; ${str}`)();
}
res.status(200).json(executeJS(code)).end();
});
我附上了我的内存使用情况的屏幕截图。你可以猜到,就在 8 点 45 分左右,我向服务器发送了几个请求。处理请求后,内存会增加并继续保持该级别。
【问题讨论】:
-
是的,这是一个巨大的安全漏洞。
-
私人客户端 - 私人服务器。你有答案还是只是略读?
-
只是说出来。永远不会保持“私密”
标签: javascript node.js express memory-leaks eval