加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Bash管道执行

发布时间:2020-12-16 01:27:53 所属栏目:安全 来源:网络整理
导读:netcat联机帮助页指示,如果没有-c和-e选项,可以使用以下命令通过nc为 shell提供服务. $rm -f /tmp/f; mkfifo /tmp/f$cat /tmp/f | /bin/sh -i 21 | nc -l 127.0.0.1 1234 /tmp/f 现在,根据我的理解,来自fifos的读取和写入都是阻塞操作.例如,如果我跑 $mkfifo
netcat联机帮助页指示,如果没有-c和-e选项,可以使用以下命令通过nc为 shell提供服务.
$rm -f /tmp/f; mkfifo /tmp/f
$cat /tmp/f | /bin/sh -i 2>&1 | nc -l 127.0.0.1 1234 > /tmp/f

现在,根据我的理解,来自fifos的读取和写入都是阻塞操作.例如,如果我跑

$mkfifo foo
$cat foo

bash会阻塞,因为没有写入foo.来自nc联机帮助页的示例中的管道如何不阻塞?我假设我误解了管道的执行方式.

管道中的所有命令同时运行,而不是顺序运行.所以cat / tmp / f确实会阻塞,但是/ bin / sh和nc仍会在发生时启动.当客户端连接到端口并发送命令时,nc将写入FIFO,这将允许cat解除阻塞.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读