¿Usando binario desde un servidor remoto?

¿Usando binario desde un servidor remoto?

Si subo nc orcontenedores curl` a la raíz de mi servidor web, ¿puedo ejecutar comandos de forma remota mediante solicitudes (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

Los ejemplos anteriores no parecen funcionar. ¿Alguien puede ofrecer una respuesta detallada e iluminarme?

Respuesta1

Por defecto, no, no puedes. El "problema" es que no ncestán curldiseñados para ejecutarse en respuesta a solicitudes GET o POST. El binario está en su servidor web, esperando a ser invocado por alguien en ese mismo servidor. No debido a ninguna solicitud que reciba su servidor.

¿Podrías hacerlo funcionar? Podrías, pero es un problema de seguridad bastante grande, así que yo no lo haría.

Si no le preocupa la seguridad de su servidor web, puede crear una página llamada que exec.phpcontenga:

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

Si desea una verdadera ejecución remota de código (no haga esto), puede usar:

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

Luego invoque el comando con un GET parahttp://servidorweb/exec.php?cmd=id

información relacionada