64bit scanf 를 사용한 문제였다.
asis 에 Mrs. Hudson였던가 그문제랑 유사했다.
여기서 왜 scanf@plt 가 아닌 scanf@plt + 6을 호출하냐면, scanf@plt 주소의 마지막부분인 (여기서는 0x30) 이 널이 되버린다.
그래서 scanf@plt + 6 부분에있는 dynamic_linker 쪽을 호출해서 실 함수주소를 구해내는 형태로 콜하는거다.
라고 알고있는데 확실하지는 않다....ㅎㅎ
'Pwnable' 카테고리의 다른 글
[ch4n3 world] Sleepy (0) | 2017.11.22 |
---|---|
[pwnable.kr] syscall (2) | 2017.10.03 |
[Protostar] heap2 (1) | 2017.09.20 |
[CodeGate] BabyMisc (0) | 2017.09.15 |
[Protostar] heap1 (1) | 2017.09.13 |