使用遠端伺服器上的二進位檔案?

使用遠端伺服器上的二進位檔案?

如果我將nc orcurl` bin 上傳到 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 伺服器上,等待同一伺服器上的某人呼叫。不是因為您的伺服器收到任何請求。

你能讓它發揮作用嗎?你可以,但這是一個相當大的安全問題,所以我不會。

如果您不關心網頁伺服器的安全性,您可以建立一個名為exec.php包含以下內容的頁面:

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

如果您想要真正的遠端程式碼執行(請不要這樣做),您可以使用:

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

然後使用 GET 呼叫該命令http://webserver/exec.php?cmd=id

相關內容