ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 해커스쿨 ftz level14
    System/HackerSchool ftz level 2019. 6. 13. 02:54

    글을 쓰기 싫거나 한게 아니고 오늘은 되게 설명할 게 짤막해서 사진이 3개입니다..

     

    일단 힌트를 보면 int형 변수 crap, check을 호출하고 char형 배열 buf(크기는 20)까지 호출합니다.

    45바이트만큼 buf에 fgets 함수를 사용하고요 check 변수값은 0xdeadbeef여야 setreuid 함수가 작동하는 거 같네요

    일단 분석을 다시 해서 주소 같은걸 살펴보자면 <main+17>과 <main+29>에 [ebp-56]과 [ebp-16]가 뭔가 크기를 나타내는듯 해서 수상하죠.

    일단 [ebp-56]에는 fgets 함수의 인자를 저장하고, [ebp-16]에 0xdeadbeef가 있어야 된다고 하는 것 같네요

    일단 56-16하면 40이거든요, 근데 문자열이 들어가는(인자 저장) 함수가 fgets 함수고 지금 [ebp-16] 주소에는 뭐가 있는지 모르니까 그냥 그 주소에다가 0xdeadbeef 넣으면 될 거 같은데요?

    그래서 "A"를 40번 써준 뒤에 0xdeadbeef를 리틀 엔디안 방식으로 삽입해보면 딸칵하고 레벨 열리는 소리가 납니다.

    쉘코드 사용도 없이 간편한 레벨이었네요 뭔가 난이도가 거꾸로 됐는데

     

    2019.6.13

    이제 슬슬 시험공부..를..

    'System > HackerSchool ftz level' 카테고리의 다른 글

    해커스쿨 ftz level16  (0) 2019.06.15
    해커스쿨 ftz level15  (0) 2019.06.14
    해커스쿨 ftz level13  (0) 2019.06.12
    해커스쿨 ftz level12  (0) 2019.06.11
    해커스쿨 ftz level11  (0) 2019.06.11
Designed by Tistory.