ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Stack4 풀이
    System hacking training/Protostar 2018. 2. 4. 20:59

    [문제]



    이전문제와는 다르게 함수 포인터가 없다.


    하지만 여전히 gets() 사용으로 인해 bof 취약점이 존재한다.


    ret 을 win()의 주소로 변조시키면 win()가 실행될것이다.


    [풀이]



    gdb로 열어보면 main()에서 80바이트의 공간을 할당한 것을 알 수 있다.


    따라서 SFP와 buffer[64] 사이의 dummy가 들어가는지 체크할 필요가 있다.


    예상한 스택 구조는 이러하다.


    | char buffer[64] | dummy | SFP | RET |



    따라서 buffer와 dummy, sfp를 A로 모두 덮고 마지막에 win()의 주소를 넣어줬다.

    반응형

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

    heap0 풀이  (0) 2018.12.21
    Stack6 풀이  (0) 2018.02.16
    Stack3 풀이  (0) 2018.02.04
    Stack2 풀이  (0) 2018.02.04
    Stack1 풀이  (0) 2018.02.03
Designed by Tistory.