본문 바로가기
  • True knowledge exists in knowing that you know nothing. -Socrates-
Study/ftz

FTZ level15

by intadd 2016. 7. 12.



FTZ (Free Training Zone) level15


 


1. 환경 : window10

2. VM, Red Hat Linux 9.0, putty




id : level15

pw : guess what



 

1.     cat hint를 확인하여 코드를 분석한다.

14번과 비슷하게 보이지만 여기서 중요하게 봐야할 것은 포인터 입니다.


    

*check라는 의미는 check이 주솟값을 따라 갔을 때 check에 있는 값을 의미합니다.





2.     gdb로 분석

여기서 가장 중요한 것은 cmp 로 비교할 떄 0xdeadbeef 와 비교를 하는 것은 [eax] 값입니다.

그러므로 0xdeadbeef의 주솟값(포인터이기 때문에)을 입력하면 그 주솟값이 가리키고 있는 것이 0xdeadbeef 이면 쉘코드를 실행시킵니다.


  


x/x 주어진 주솟값의 내용을 확인 해주는 gdb명령어 입니다. 

(x이므로 16진수)

80484b0의 주솟값은 beef3881을 가르키고 있습니다. 

그래서 주솟값을 1씩 증가시키면서

deadbeef를 가르키고 있는 주솟값을 찾아 주면 됩니다.

(0x80484b2)




4.     주솟값을 입력한다

      총스텍 56 -16 = 40 +0xdeadbeef의 주솟값 







'Study > ftz' 카테고리의 다른 글

FTZ level17  (1) 2016.07.13
FTZ level16  (0) 2016.07.12
FTZ level14  (0) 2016.07.12
buffer over flow 필독 자료  (0) 2016.07.12
FTZ level13  (0) 2016.07.12

댓글