앞전 14번과 다른점이라면 이번에 check하는 부분이 포인터라는 점
gdb 사용
크기는 동일하게 0x38, 10진수로하면 56
앞에 14번과 동일하게 메모리 구조를 그리면
buf+더미 40, check 4, crap이 되겠고 마찬가지로 주소확인을 위해 level14때 쓴 프로그램을 다시 재활용한다.
주소가 확인되었고 예상과 맞아떨어졌다.
그러면 이제 디버깅을 해보자
이전과 마찬가지로 <main+32>부분에 BP 걸고 디버깅
0xbfffeb20 40만큼 다음인 0xbfffeb48에 deadbeef를 가리키는 주소값을 넣으면 되겠다.
공격코드를 작성하겠다.
(트러블슈팅 중;;)
------------------------------------------
추가
중간에 계속 메모리주소는 변하지만 상대적인 주소는 변하지 않는다.
고로 디버깅을 아래와 같이 진행하고 주소를 얻어내면 0x80484b2부터0x80484b5까지가 된다.
클리어
'Pwnable > FTZ' 카테고리의 다른 글
FTZ Level17 풀이(해결) (0) | 2016.07.17 |
---|---|
FTZ Level16 풀이 (0) | 2016.07.17 |
FTZ Level14 풀이 (0) | 2016.07.16 |
FTZ Level13 풀이(해결) (0) | 2016.07.16 |
FTZ Level12 풀이(EggShell로 해결) (0) | 2016.07.16 |