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] 즉, 두번째 인자값을 이용하면 된다.

gcc가 아니고 gdb임

▲ 일단 아무렇게나 입력해 보고 두번째 인자값의 주소를 찾아준다.

▲ 이후 우리가 알아낸 해당 주소를 ret에 덮어씌우면 된다.