본문 바로가기
D. 시스템/실습

[Pwnable.kr] bof

by E-HO 2017. 10. 13.
728x90

ㅎㅇ


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

func 함수안에 있는 gets를 통해

 BOF를 일으켜서

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

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


<func함수>

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

위 네모칸과 같이

0x2c

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

크기는

0x8


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

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


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

8-(-44)해서

52byte

가 된다.


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


이렇게 flag값을 얻어서

해결ㅎㅎㅎ


반응형

'D. 시스템 > 실습' 카테고리의 다른 글

[LOB] 3번 goblin  (0) 2017.11.16
[LOB] 2번 cobolt  (0) 2017.10.15
[LOB] 1번 gremlin  (0) 2017.10.14
[C-LAB] EasyBOF  (0) 2017.10.13