用 pwntools 送出 EOT

https://github.com/Gallopsled/pwntools/issues/985

根據這個issue,要做到我們按Ctrl-D相同的效果,就要把process設成下面這樣

r = process(“./a.out”, stdin=process.PTY, raw=False)
r.send(chr(tty.CEOF)) // 傳送EOF

但要注意,改成這樣以後會有很多特殊字元都不能直接傳送,以下的list就是該fd的特殊字元

import(termios)
print(termios.tcgetattr(p.stdin.fileno())) # [0, 4, 191, 2608, 15, 15, [b'\x03', b'\x1c', b'\x7f', b'\x15', b'\x04', 0, 1, b'\x00', b'\x11', b'\x13', b'\x1a', b'\x00', b'\x12', b'\x0f', b'\x17', b'\x16', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00', b'\x00']] 

但這個方法似乎只有用process的時候可以通,而要怎麼通過socket傳送,目前我還沒查到lol

Leave a Reply

Your email address will not be published. Required fields are marked *