Hoje eu estava lendo a nc
página do manual e me deparei com este comando. Eu sei que:
mkfifo /tmp/f
está criando um pipe nomeado em /tmp/f .cat /tmp/f
está imprimindo tudo o que está escrito naquele canal nomeado e a saída decat /tmp/f
foi canalizada para/bin/sh
/bin/sh
está sendo executado interativamente e stderr é redirecionado para stdout.- `a saída é então canalizada para nc que está escutando na porta 1234
- e a saída é finalmente redirecionada para o pipe nomeado novamente.
quando executado, conectando-se ao servidor remoto nessa porta, ou seja, 1234, abre um prompt de shell e o cliente pode executar comandos arbitrários. Mas como funciona dessa forma?