D. 시스템/실습

[Pwnable.kr] bof

E-HO 2017. 10. 13. 00:55
728x90

ㅎㅇ


저 주소로 들어가서 C코드를 먼저 봐보자

func 함수안에 있는 gets를 통해

 BOF를 일으켜서

key 값을 조건문에 맞도록 변경시켜 문제를 해결해야겠다

그래서 func함수를 gdb를 이용해 까보았다


<func함수>

우선 gets함수의 인자에 들어가는 eax의 크기를 보면

위 네모칸과 같이

0x2c

그리고 키값이 들어있는 곳의 위치는 ebp+0x8이여서 

크기는

0x8


그래서 ebp+0x8까지 버퍼를 채우고 그 이후로는 조건문에 맞추기위해서

0xcafebabe라는 값을 넣어야 한다.


그래서 채워야하는 버퍼의 값은

8-(-44)해서

52byte

가 된다.


이것을 입력하기위해서 파이썬을 이용해 파이프라인을 작성하면


이렇게 flag값을 얻어서

해결ㅎㅎㅎ


반응형