Por que a opção '-e' está faltando no netcat-openbsd?

7

Por que a opção -e está faltando no pacote netcat-openbsd ? Existe um pacote netcat-traditional mas ele tem muitos recursos do pacote do OpenBSD faltando. Estou executando o Linux Mint 16.

Alguém sabe por que isso está faltando? Ele remove um grande recurso do netcat.

    
por p1xel 20.12.2013 / 08:13

2 respostas

11

Porque existem várias versões do programa.

Não existe um "padrão" que descreva quais opções netcat deve suportar, diferente de muitos outros utilitários padrão especificados no POSIX. Você tem netcat versões do OpenBSD, FreeBSD, o GNU netcat , et cetera.

Para a variante do OpenBSD a manpage observa que :

There is no -c or -e option in this netcat, but you still can execute a
 command after connection being established by redirecting file descriptors.
 Be cautious here because opening a port and let anyone connected execute
 arbitrary command on your site is DANGEROUS. If you really need to do this,
 here is an example:

 On ‘server’ side:

       $ rm -f /tmp/f; mkfifo /tmp/f
       $ cat /tmp/f | /bin/sh -i 2>&1 | nc -l 127.0.0.1 1234 > /tmp/f

 On ‘client’ side:

       $ nc host.example.com 1234
       $ (shell prompt from host.example.com)

 By doing this, you create a fifo at /tmp/f and make nc listen at port 1234
 of address 127.0.0.1 on ‘server’ side, when a ‘client’ establishes a
 connection successfully to that port, /bin/sh gets executed on ‘server’
 side and the shell prompt is given to ‘client’ side.

 When connection is terminated, nc quits as well. Use -k if you want it keep
 listening, but if the command quits this option won't restart it or keep nc
 running. Also don't forget to remove the file descriptor once you don't
 need it anymore:

       $ rm -f /tmp/f
    
por 20.12.2013 / 10:19
0

as últimas versões que eu encontrei uma definição em algumas fontes para o netcat também habilitam o comando execute. geralmente é desativado por motivo de segurança.

mas encontrei uma maneira alternativa de contornar

link

    
por 20.12.2013 / 10:22