10 코인
cat /flag 명령에 대한 출력을 recvline 을 이용하는것에 대한 질문
payload를 제출한 후에 read_flag 함수가 실행되면서 flag가 출력이 되기 때문에
p = remote('','')
p = remote('')
.. 생략 ..
flag = p.recvline()
print(flag)
이렇게 했는데
Traceback (most recent call last):
File "ex.py", line 12, in <module>
flag = p.recvline()
File "/usr/local/lib/python3.8/dist-packages/pwnlib/tubes/tube.py", line 496, in recvline
return self.recvuntil(self.newline, drop = not keepends, timeout = timeout)
File "/usr/local/lib/python3.8/dist-packages/pwnlib/tubes/tube.py", line 339, in recvuntil
res = self.recv(timeout=self.timeout)
File "/usr/local/lib/python3.8/dist-packages/pwnlib/tubes/tube.py", line 104, in recv
return self._recv(numb, timeout) or b''
File "/usr/local/lib/python3.8/dist-packages/pwnlib/tubes/tube.py", line 174, in _recv
if not self.buffer and not self._fillbuffer(timeout):
File "/usr/local/lib/python3.8/dist-packages/pwnlib/tubes/tube.py", line 153, in _fillbuffer
data = self.recv_raw(self.buffer.get_fill_size())
File "/usr/local/lib/python3.8/dist-packages/pwnlib/tubes/sock.py", line 56, in recv_raw
raise EOFError
EOFError
이렇게 오류가 발생했습니다.
어차피 입력을 받아오는것인데 왜 오류가 발생하는건가요??
찾아보니 프로세스에서 데이터를 보내지 않는다고 하긴 합니다만..
- 혹시 stdout과 관련이 있는건 아닌가 조심스럽게 추측해 보겠습니다.
#pwnable
작성자 정보
답변
1
질문자가 채택한 답변입니다. 좋은 지식을 공유해줘서 고마워요!
wyv3rn
무플 방지 위원회장
음... recvline이 아니라 recv나 recvn으로 해보시겠어요
\n이 없어서그럴 것 같은데...