ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Level4 (goblin -> orc)
    $ 시스템 해킹 $/Los Of BufferOverflow 2020. 1. 1. 14:16

    소스코드를 확인해 보겠습니다.

     

    egghunter이란 환경변수 부분을 0으로 초기화 하는 역할을 하는데, 그래서 이전에 사용한 환경변수 관련된 문제 풀이는 사용할 수 없습니다.

    그리고 argv의 47번째 바이트가 \xbf 인지 확인 합니다.

     

     

    buffer의 크기 40바이트 + SFP 4바이트 + RET 4바이트 = 48바이트

    하지만 argv[1]의 47번째 바이트가 \xbf 인것으로 보아 RET 첫번째 주소의 시작값이 \xbf 라는 것을 알수 있습니다.

     

    또한 gdb로 열어보면 코드 영역은 0x80~~의 주소를 가지고있고

     

    우리가 필요한 \xbf 는 Stack 영역에 있는 주소입니다.

     

    이제 한번 core dump를 해보겠습니다.

     

    RET에 들어가야하는 주소를 찾기 위해서 gdb -q -c core 명령을 통해 알아보겠습니다.

     

    RET에 와야 하는 주소는 0xbffffc63입니다.

     

    페이로드를 한번 작성해 보겠습니다.

     

    login : orc

    Password : cantata

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

    Level6 (wolfman -> darkelf)  (0) 2020.01.01
    Level5 (orc -> wolfman)  (0) 2020.01.01
    Level3 (cobolt -> goblin)  (0) 2020.01.01
    Level2 (gremlin -> cobolt)  (0) 2020.01.01
    Level1 (gate -> gremlin)  (0) 2020.01.01

    댓글

Designed by Tistory.