Используете двоичный файл с удаленного сервера?

Используете двоичный файл с удаленного сервера?

Если я загружу nc orcurl-бины в корень моего веб-сервера, смогу ли я запускать команды удаленно с помощью (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

По умолчанию, нет, не можете. "Проблема" в том, что ncони curlне созданы для выполнения в ответ на запросы GET или POST. Двоичный файл находится на вашем веб-сервере, ожидая, когда его вызовет кто-то на том же сервере. Не из-за какого-либо запроса, который получает ваш сервер.

Сможете ли вы это сделать? Можно, но это довольно большая проблема безопасности, поэтому я бы этого не делал.

Если вас не беспокоит безопасность вашего веб-сервера, вы можете создать страницу с именем, exec.phpсодержащую:

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

Если вам нужно настоящее удаленное выполнение кода (пожалуйста, не делайте этого), вы можете использовать:

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

Затем вызовите команду с помощью GET дляhttp://webserver/exec.php?cmd=id

Связанный контент