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 |