ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Stack 2]
    System/Protostar 2018. 2. 1. 20:53

    [Stack 2 Code]



    [Stack 2 실행]


    getenv함수로 환경변수 GREENIE값을 불러온 후

    strcpy함수로 버퍼에 복사하는 과정에서 BOF가 발생한다.


    환경변수 GREENIE를 만든 후, AAAA를 넣어주고 실행을 하면 modified값을 출력한다.

    BOF를 일으켜 modified변수에 0x0d0a0d0a를 넣어주면 Success 문구를 출력할 수 있다.


    =======================================================



    우선 버퍼공간이 64바이트니까 A를 64개 채워주고 스택상황을 확인해보자



    저 부분이 strcpy함수를 호출하는 부분이니까

    그 다음 주소인 0x080484e4에 BP를 걸고 실행을 한다.




    ESP를 확인해보면 41(A)이 64개 채워진 다음 스택공간이 

    0으로 초기화된 modified변수임을 알 수 있다.

    저 부분에 0d0a0d0a를 넣어주면 될 것 같다.


    [첫 번째 시도]


    그냥 이렇게 넣어주면 될 것같아서 시도 해봤는데

    '\x0a'이렇게 한 묶음으로 읽지 않고, 'x' '0' 'a'이렇게 따로따로 읽어서 많은 시행 착오가 있었다..


    [두 번째 시도]


    그래서 python을 이용해서 저렇게 넣어줬다.

    그리고 실행해보니까 Success문구가 나온다!

    스택을 한번 확인해서 제대로 들어갔는지 확인해보자



    0x0d0a0d0a

    제대로 들어갔음을 확인할 수 있다.




    'System > Protostar' 카테고리의 다른 글

    [Stack 6]  (0) 2018.02.10
    [Stack 4]  (0) 2018.02.02
    [Stack 3]  (0) 2018.02.02
    [Stack 1]  (0) 2018.02.01
    [Stack 0]  (0) 2018.02.01

    댓글

Designed by Tistory.