![Kali 终端 (我认为是 Qt) 中 bash 的奇怪行为 - 管道到 nc 以永远等待输入结束](https://linux22.com/image/209807/Kali%20%E7%BB%88%E7%AB%AF%20(%E6%88%91%E8%AE%A4%E4%B8%BA%E6%98%AF%20Qt)%20%E4%B8%AD%20bash%20%E7%9A%84%E5%A5%87%E6%80%AA%E8%A1%8C%E4%B8%BA%20-%20%E7%AE%A1%E9%81%93%E5%88%B0%20nc%20%E4%BB%A5%E6%B0%B8%E8%BF%9C%E7%AD%89%E5%BE%85%E8%BE%93%E5%85%A5%E7%BB%93%E6%9D%9F.png)
我一直在尝试将字节码通过管道传输到 netcat ( nc
),如下所示:
python3 -c "import sys;bof='a'*16;bof2='a'*8;sys.stdout.buffer.write(bof.encode('ascii')+b'\xef\xbe\xad\xde'+bof2.encode('ascii')+b'\x21\x52\x54\x55\x55\x35')" | nc example.com 1337
但是当我执行它时,我的终端打印出程序的输出,就好像它正在等待输入一样,但是当我输入文本并按 Enter 键时什么也没有发生 - 它仍然等待输入。我尝试过 Ctrl+D 来结束它,我尝试过'
,'"', ')'。它不起作用。有任何线索为什么吗?Ctrl+C 结束执行,但我认为没有发送任何内容,或者至少没有输出没有被打印出来,这对我来说毫无用处:(
我也尝试过:通过管道连接到 xxd 以检查那里是否有错误,但不,看起来没问题。
我尝试过谷歌搜索,但显然没有结果。
答案1
所以我已经弄清楚了:
正如您在 xxd 和其他类似程序中看到的那样,您缺少换行符!只需\n
在关闭字节字符串文字 ( ) 之前添加 a'
即可开始!
案件结案!