[제 1회 Root CTF] Point to pointer! - (529 point)
기대를 안고 문제를 풀기 시작했습니다. main 함수 소스입니다. String을 봤는데 “/bin/sh”도 있습니다. 막 찾던 도중, 여기서 쓰이는 걸 발견했습니다. 다시 main함수를 보면 buf를 0x30(48)byte만큼 잡고, (_QWORD *)buf + 2 즉, 16byte를 건너 뛰고 그 자리에 어떤 함수의 주소를 넣습니다. welcome to RootCTF! 를 출력해주는 함수입니다.(_QWORD *)buf + 2를 호출하면 저 함수가 실행될 것입니다. read로 사용자에게 buf에 입력을 받고, Y를 받으면 다시 (_QWORD *)buf + 2를 호출합니다.read로 받을 때 0x64(100)byte를 받기 때문에, (_QWORD *)buf + 2를 조작할 수 있어요! (_QWORD *)b..