我一直在尝试将字节码通过管道传输到 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'
即可开始!
案件结案!