decode()와 p64()
fho문제에서는 *addr = value;이렇게 되어있어서 str(free_hook).decode()이런식으로 바이트로 보내서 exploit에 성공했는데 이 문제에서는 *(long *)*ptr = *(ptr+1);이렇게 되어있어서 p64(free_hook)이런식으로 패킹해서 보내야 exploit에 성공하더라고요 어쩔때 decode()로 보내야되고 어쩔때 p64()로 보내야되는것인가요?
#pwnable
작성자 정보
답변
1
Tjdmin1
새싹
%d로 입력을 받거나 %x, %s등으로 입력을 받으면 포멧 스트링이 있어서 숫자, 문자로 그대로 보내야하지만 read(0, ptr, size); 이런식으로 입력받을 땐 포멧 스트링이 없기 때문에 패킹을 해서 보내줘야합니다.