ABOUT ME

-

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

    [Stack 1 Code]




    [Stack 1 실행]


    Stack 1에 AAAA값을 넘겨 실행하면

    Try again, you got 0x00000000 이라면서

    modified변수 안에 값을 16진수로 8자리 출력해준다.

    BOF를 일으켜 modified변수 값을 0x61626364(abcd)로 조작해주면

    you have correctly got the variable to the right value

    라는 Success 문자열이 출력될 것이다.


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




    BOF취약점이 있는 strcpy함수를 사용함을 알 수가 있다.

    따라서, 인자값을 넘겨줄 때 64바이트를 넘게주면 길이값을 확인하지 않고 그대로 복사해버린다.



    밑줄 친 부분이 modified 변수 공간임을 알 수 있다.

    저 공간에 0x61626364값을 넣어주면 된다.



    Little Endian방식으로 넣어줘야 하므로 A*64뒤에 dcba를 넣어주면

    정상적으로 0x61626364가 변수안에 들어가게 되고

    Success 문자열이 출력된다.








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

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

    댓글

Designed by Tistory.