ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Stack3 풀이
    System hacking training/Protostar 2018. 2. 4. 16:13

    [문제]



    win()를 실행시키면 된다.


    이 프로그램 역시 gets()의 사용으로 bof 취약점이 존재하고 이 취약점을 이용하여


    함수 포인터 fp에 win()의 주소를 넣어주면 된다.


    [풀이]


    dummy값 확인을 위해 gdb로 열어본다.



    win()의 주소도 함께 알아보았다.


    이 프로그램 역시 페이로드에 참고해야할 dummy값이 없다.


    즉, 함수 포인터 fp와 char buffer[64]가 붙어있다는 뜻이다.


    따라서 gets()의 bof 취약점을 이용하여 64 바이트 A를 넣어주고, 위에서 구한 win()의 주소를 구하면 성공한다.



    주소가 정확히 win()의 주소로 변경이 되었음을 확인할 수 있다.

    반응형

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

    Stack6 풀이  (0) 2018.02.16
    Stack4 풀이  (3) 2018.02.04
    Stack2 풀이  (0) 2018.02.04
    Stack1 풀이  (0) 2018.02.03
    Stack0 풀이  (0) 2018.02.03
Designed by Tistory.