ABOUT ME

김규빈(ws1004)의 옛 블로그!! 현재는 blog.forensicresearch.kr 에서 블로그를 작성중입니다.

  • Level16 (assassin -> zombie_assassin)
    $ 시스템 해킹 $/Los Of BufferOverflow 2020. 1. 1. 14:39

     

    15번 문제와 다른 부분은 strcpy가 strncpy로 바꼈다는 것과, RET 까지만 입력을 받는다 것 뿐입니다.

    이번문제는 FEBP라는 키워드를 이용해야 하는 것 같습니다.

     

    FEBP는 Fake EBP의 약자로, EBP를 조작하여 leave-ret Gadget을 이용해서 IP(Instruction)를 조작하는 공격 기법입니다.

    RET에 Stack주소와 Libc 주소를 쓰지 못할때 사용합니다.

     

    사용할 페이로드는 아래와 같습니다.

    [ &system ] + [Dummy 4 byte] + [ &"/bin/sh" ] + [Dummy 28 byte] + [ &buf-4 (Fake EBP in SFP) ] + [ &leave (RET) ]

     

    필요한 주소를 모아보면 아래와 같습니다.

     

    system과 "/bin/sh"의 주소는 매번 같은 libc를 사용하기 때문에 같습니다.

    system 주소 : 0x40018000+0x40ae0 = 0x40058ae0

    "/bin/sh" 주소 : 0x40018000 + 0xe3ff9 = 0x400fbff9

     

    &buf-4 의 주소를 알아 보겠습니다.

     

    core dump 분석을 해보겟습니다.

     

    &buf-4 는 0xbffffa5c 입니다.

     

    마지막으로 leave 주소를 알아보겠습니다.

     

    &leave 는 0x08048311입니다.

     

    이제 exploit 을 해보겠습니다.

     

    login : zombie_assassin

    password : no place to hide

    '$ 시스템 해킹 $ > Los Of BufferOverflow' 카테고리의 다른 글

    댓글

Designed by Tistory.