リモートサーバーからのバイナリを使用していますか?

リモートサーバーからのバイナリを使用していますか?

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 サーバー上に存在し、同じサーバー上の誰かによって呼び出されるのを待っています。サーバーが受信したリクエストが原因ではありません。

それを機能させることができますか? 可能ですが、セキュリティ上の大きな問題があるため、私はそうしません。

Web サーバーのセキュリティを気にしない場合は、次の内容をexec.php含むページを作成できます。

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

真のリモート コード実行が必要な場合 (これは行わないでください)、次を使用できます。

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

次にGETでコマンドを呼び出しますhttp://webserver/exec.php?cmd=id

関連情報