PwnTools recv()对需要直接输入的输出执行recv()

2024-09-29 21:40:06 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我有一个问题,我似乎找不到任何解决办法。 (也许我只是不擅长用英语正确地搜索短语)

我尝试使用pwntools从python执行一个二进制文件,并在自己发送一些输入之前完全读取其输出。在

我的二进制文件的输出如下:

Testmessage1
Testmessage2
Enter input: <binary expects me to input stuff here>

我想读取第一行、第二行和第三行的输出部分(最后一个字符是“:”。在

输出的第三行末尾不包含换行符,它希望用户直接输入。但是,无论我尝试什么,我都无法读取第三行开头的输出内容。在

我目前的方法是:

^{pr2}$

我对stdin和stdout有什么误解吗?第三行的“enterinput:”不是我在输入之前应该能够接收到的输出的一部分吗?在

提前谢谢


Tags: 文件toinputhere二进制字符pwntoolsme
1条回答
网友
1楼 · 发布于 2024-09-29 21:40:06

我终于明白了。 我得到了我需要的提示 https://github.com/zachriggle/pwntools-glibc-buffering/blob/master/demo.py

Ubuntu似乎自己在做大量的缓冲。 当手动确保pwnTools为stdin和stdout使用伪终端时,它可以工作!在

import * from pwn

pty = process.PTY
p = process(stdin=pty, stdout=pty)

相关问题 更多 >

    热门问题