완료됨
p64(15)의 위치와 /bin/sh 존재 이유

payload += p64(pop_rax) payload += p64(15) payload += p64(syscall)

위와 같이 pop_rax와 syscall 사이에 p64(15)를 넣어도 제대로 작동하는 이유가 뭔가요?
srop 문제에서는 pop rax와 syscall 다음에 입력을 하던데 차이점이 있나요?

그리고

위 사진처럼 find /bin/sh를 해서 나오는 /bin/sh 값이 나오는 이유는 뭔가요? srop 문제에서는 libc에 존재하는 /bin/sh 만 나오던데..

#pwnable
작성자 정보
더 깊이 있는 답변이 필요할 때
드림핵 팀과 멘토에게 직접 문의해 보세요!
답변 1
  1. X64 ROP 할때는 pop_rax다음에 15이 위치하는게 맞는거 아닌가요?? pop_rax가 실행되면서 rax에 15가 들어갑니다.
  2. 바이너리에 /bin/sh 문자열이 있는 경우에는 find 했을때 나옵니다.
2024.05.23. 14:17