今天我在阅读nc手册页时偶然发现了这个命令。我知道:
nc
mkfifo /tmp/f正在/tmp/f创建命名管道。
mkfifo /tmp/f
cat /tmp/f正在打印写入该命名管道的任何内容,并且 的输出cat /tmp/f被通过管道传送到/bin/sh
cat /tmp/f
/bin/sh
运行时,连接到该端口(即 1234)上的远程服务器会打开 shell 提示符,客户端可以执行任意命令。但它是如何运作的呢?
shell cat nc mkfifo
cat ×1
mkfifo ×1
nc ×1
shell ×1