완료됨
포맷 스트링 관련
fig.4의 실습(FSB_EASY)에서 %p %p %p %p %p %p 를 입력하면 rdi, rsi, rdx, rcx, r8, r9 순으로 출력되는데, 왜 그다음 fig.5, 6 부터는 rsi부터 출력되는건가요? printf()의 원래 인자값을 생각하면( 예> printf("%p", buf) , rdi = "%p" 주소, rsi = buf 주소겠죠?) rsi 부터 출력하는 게 맞다는 생각이 들긴 하는데 실습(FSB_EASY)에서는 rdi부터 출력되니 약간 헷갈리네요. rdi부터 출력 or rsi부터 출력, 어떤 게 맞는건가요? 실행 환경에 따라 다른건가요?
#시스템_해킹
#기초
#포맷_스트링_버그
작성자 정보
답변
1
wyv3rn
무플 방지 위원회장
실행 환경에따라 조금씩 다른 것으로 알고 있습니다.
결국은 값을 출력하기 직전의 rsp위치로부터 하나씩 출력해주는 것이 fsb의 핵심이라 생각합니다.