Usando o binário do servidor remoto?

0

Se eu carregar o nc or curl 'bins para a raiz do meu servidor web, posso executar comandos remotamente usando solicitações (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

Os exemplos acima não parecem funcionar. Alguém pode oferecer uma resposta detalhada e me iluminar?

    
por user765578 28.08.2017 / 07:27

1 resposta

1

Por padrão, não, você não pode. O "problema" é que nc e curl não são executados em resposta a solicitações GET ou POST. O binário está no seu servidor web, esperando para ser invocado por alguém no mesmo servidor. Não por causa de qualquer solicitação que seu servidor receba.

Você poderia fazer isso funcionar? Você poderia, mas é um problema de segurança bem grande, então eu não faria isso.

Se você não estiver preocupado com a segurança do seu servidor da Web, poderá criar uma página chamada exec.php contendo:

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

Se você quiser uma verdadeira execução remota de código (por favor, não faça isso), você pode usar:

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

Em seguida, invoque o comando com um GET para o link

    
por 28.08.2017 / 07:46