완료됨
getshell + 0
for i in range(50): p.sendlineafter(": ", str(getshell).encode()) p.sendlineafter(": ", str(0))
위처럼 하면 exploit이 되는데
for i in range(100): p.sendlineafter(": ", str(getshell).encode())
으로 하면 안되는 이유가 뭔가요?? main->fp()에 getshell을 제대로 넣기 위함인가요?
#pwnable
작성자 정보
답변
1
질문 주신 내용만 봐서는 어떻게 페이로드를 구성하셨는지 알기 어렵기 때문에 정확한 답변은 못 드리겠네요!
하지만 han76님이 직접 디버거를 붙이거나 코어파일을 gdb로 열어서 확인해보신다면 왜 안되는지 확실히 할 수 있을 것 같습니다!
#p = process("chal")
p = gdb.debug("chal")
이런식으로 gdb process를 생성할 수 있습니다. (tmux 환경이 필요하실지도 모릅니다)
https://stackoverflow.com/questions/61427720/debugging-a-program-that-is-opened-by-pwntools
https://training-1.tistory.com/165
를 참고해보세요~!