如何让nodejs开发的rest api下面运行系统命令行?
8 回复
主要通过child_process模块来运行系统命令,并获取输出的内容。例:
var http = require('http');
var exec = require('child_process').exec;
var server = http.createServer(function (req, res) {
var cmd = req.url.substr(1);
exec(cmd, function (err, stdout, stderr) {
if (err) {
res.end(err.toString());
}
else {
res.end('stdout:\n' + stdout + '\n\nstderr:\n' + stderr);
}
});
});
server.listen(80);
在浏览器中打开 http://127.0.0.1/ls 即可看到列出了当前目录的文件
这个就是webshell嘛,实现这简单的,接受参数,child_process.exec(),然后把结果返回。
多谢
看到这个就害怕
不过不能无条件执行指令啊,否则会产生系统漏洞
哈哈,可怕的需求。