System/LOB
6. wolfman -> darkelf
BadSchool
2019. 4. 26. 18:31
▲ LOB 6번 문제. darkelf.c와 darkelf 파일이 존재한다.
해당 힌트는 egg&buffer&length이다. 자세히 알아보자.
▲ 코드에서는 egg, buffer 이외에 인자값의 길이를 체크해준다.
▲ 일단 우리는 buffer안에 값을 못 쓰니까 buffer밖에 shellcode를 입력해 주어야 한다. 근데 buffer에 길이 입력 제한이 존재한다. 이러면 어떻게 해야할까??
▲ 답은 argv[2] 즉, 두번째 인자값을 이용하면 된다.
▲ 일단 아무렇게나 입력해 보고 두번째 인자값의 주소를 찾아준다.
▲ 이후 우리가 알아낸 해당 주소를 ret에 덮어씌우면 된다.