使用来自远程服务器的二进制文件?

使用来自远程服务器的二进制文件?

如果我将nc orcurl` bins 上传到我的 Web 服务器的根目录,我可以使用(GET|POST)请求远程运行命令吗?

http://website.com/nc -lv 1234
http://website.com/curl http://foo.com -o bar.txt
http://website.com/curl%20http%3A%2F%2Ffoo.com%2F%20-o%20bar.txt

上述示例似乎不起作用。有人可以提供详细的答案并启发我吗?

答案1

默认情况下,您不能。“问题”在于,nccurl不是为响应 GET 或 POST 请求而执行的。二进制文件位于您的 Web 服务器上,等待同一服务器上的某人调用。而不是因为您的服务器收到任何请求。

你能让它工作吗?你可以,但这是一个相当大的安全问题,所以我不会这么做。

如果您不担心 Web 服务器的安全性,则可以创建一个名为的页面,exec.php其中包含:

<?php echo shell_exec('curl localhost');?>

如果您想要真正的远程代码执行(请不要这样做),您可以使用:

<?php echo shell_exec($_GET['cmd']);?>

然后使用 GET 调用该命令http://webserver/exec.php?cmd=id

相关内容