Theme Layout

Boxed or Wide or Framed

Wide

Theme Translation

Display Featured Slider

Featured Slider Styles

Display Grid Slider

yes

Grid Slider Styles

Display Trending Posts

Display Author Bio

Display Instagram Footer

off

Dark or Light Style

Light
Powered by Blogger.

Thursday, January 26, 2017

[Hacker School] FTZ Level17 ( Ver. Kor )





Level17

level17의 계정으로 접속한 후, hint를 확인해보면 다음과 같습니다.


이전의 문제와 다른 점은, 앞의 문제에서는 프로그램 안에 shell을 실행시키는 함수가 존재했지만, 이 프로그램에서는 존재하지 않습니다. 공격 방향을 잡기 위해 먼저 gdb로 분석을 하였습니다.


메모리 공간으로 총 56byte를 할당 받습니다. ebp-16에 printit의 시작주소를 넣고, call 함수를 통해서 printit을 실행시킵니다.
 저는 call 함수가 system()함수를 실행시키기도록하고, system()함수가 "/bin/sh"를 실행시키도록 하겠습니다. call()이 위치한 곳에 system()함수의 주소를 대입하고, call함수가 끝나고 위치하는 곳이 ebp+4인 점을 이용하여 배열의 시작부분에 /bin/sh의 주소를 대입하였습니다. system()의 주소나 /bin/sh의 주소를 구하는 방법은 level11에서 다루었었기 때문에 생략합니다.



QuickEdit
Unknown
0 Comments
Share This Post :

You Might Also Like

No comments:

Post a Comment

Follow @SunriseSunsetBlog