Completed
어셈블리어에서 파일 경로 push할 때 질문

mov rax, 0x676e6f6f6f6f6f6f
push rax
mov rax, 0x6c5f73695f656d61
push rax
mov rax, 0x6e5f67616c662f63
push rax
...
이런식으로 파일 경로를 넣어주었는데
gdb로 나중에 열어보니 파일경로 끝에 \001이 붙어있었습니다...
처음 rsp값이 0x1이었는데 ni로 한줄한줄보니 oooooong\001 -> ame_is_loooooong\001 ->ell_basic/flag_name_is_loooooong\001
이렇게 저장이 되었습니다. 이게 문자열의 끝을 알려주지 않아 그런건가요??

#pwnable
Author
When you need more in-depth answers
Contact the Dreamhack team and mentors directly!
Answers 1

그럴수도있습니다!
스택에는 기본적으로 null 이 들어있을수도있고 유저가 컨트롤할 수 없는 값이 들어있을수도있습니다!
그래서 맨 처음에 0(null) 을 한번 push 해주면 문자열의 끝을 확실하게 지정할 수 있습니다

2022.03.29. 11:17