pwnkidhn.github.io

고정 헤더 영역

글 제목

메뉴 레이어

pwnkidhn.github.io

메뉴 리스트

    • 분류 전체보기 (194)
      • memo (0)
      • Pwnable Exploitation (19)
        • 01.Shellcode (4)
        • 02.Return to Shellcode (1)
        • 03.RTL(Return to libc) (2)
        • 04.Frame faking(Fake ebp) (1)
        • 05.Frame Pointer Overwrite (2)
        • 06.ROP(Return Oriented Prog.. (3)
        • 07.SROP(Sigreturn-oriented .. (2)
        • 08.JOP(Jump-Oriented Progra.. (1)
        • 09.Return-to-csu(__libc_csu.. (0)
        • Malloc - glibc(ptmalloc2) (3)
      • Pwnable Write-Up (54)
        • 00.CTF (0)
        • 01.hackerschool F.T.Z (20)
        • 02.hackerschool L.O.B (21)
        • 03.dreamHack (13)
        • 04.HackCTF (0)
      • Reversing Write-Up (38)
        • 01.Abex's crackme (5)
        • 02.CodeEngn Basic (20)
        • 03.CodeEngn Advance (13)
      • Fuzzing (1)
        • Theory (1)
      • Programming (22)
        • Data Structure (0)
        • Windows System (22)
      • Computer Science (60)
        • Computer Architecture (18)
        • OS Concepts (29)
        • Linux System (5)
        • Reverse Core (8)

    검색 레이어

    pwnkidhn.github.io

    검색 영역

    컨텐츠 검색

    Pwnable Write-Up

    • basic_exploitation_000

      2020.07.01 by RACC8N

    • off_by_one_001

      2020.06.30 by RACC8N

    • off_by_one_000

      2020.06.30 by RACC8N

    • out_of_bound

      2020.06.29 by RACC8N

    • welcome

      2020.06.29 by RACC8N

    • 00. LOB 문제

      2020.05.03 by RACC8N

    • 20. xavius -> death_knight

      2020.05.03 by RACC8N

    • 19. nightmare -> xavius

      2020.03.11 by RACC8N

    basic_exploitation_000

    보호되어 있는 글입니다.

    보호글 2020. 7. 1. 22:08

    off_by_one_001

    보호되어 있는 글입니다.

    보호글 2020. 6. 30. 22:05

    off_by_one_000

    보호되어 있는 글입니다.

    보호글 2020. 6. 30. 21:48

    out_of_bound

    보호되어 있는 글입니다.

    보호글 2020. 6. 29. 21:43

    welcome

    보호되어 있는 글입니다.

    보호글 2020. 6. 29. 21:29

    00. LOB 문제

    Pwnable Write-Up/02.hackerschool L.O.B 2020. 5. 3. 15:53

    20. xavius -> death_knight

    death_knight.c 내용이다. 코드를 분석해보면, 6666포트로 연결하여 client로부터 256문자열을 읽어온다. 여기서 buffer의 크기는 40이므로 OverFlow가 발생함을 알 수 있다. 리버스 쉘을 이용해서 문제를 풀어보자. 먼저 쉘코드를 만들어 보겠다. 공격자의 IP와 2345 PORT를 지정하여 다음과 같이 쉘코드를 만들었다. 이제 death_knight 버퍼를 확인해 보자. recv 함수의 인자로 256만큼 읽어 오는데, buffer의 크기는 40 임을 알 수 있다. 따라서 payload는 BUF [40] + SFP [4] + RET [4] + SHELLCODE 형식이며, RET에 SHELLCODE 실행 주소를 넣으면 되겠다. 다만 원격으로 실행하기 때문에 디버깅을 통한 정확한 r..

    Pwnable Write-Up/02.hackerschool L.O.B 2020. 5. 3. 15:52

    19. nightmare -> xavius

    fgets함수를 이용해 stdin으로 입력받는다. stack과 libc는 사용할 수 없다. stack을 아예 사용할 수 없기때문에 이전과 같은 방법으로 풀 수는 없을 것이다. 여기서 입력을 갑자기 stdin으로 받는게 정답과 관련있을 것 같다. stdin은 표준 입력 방식으로 입력받는동안 데이터를 저장할 버퍼가 존재한다. 이 버퍼를 이용하면 될 것 같다. fgets 함수의 인자로 0x8049a3c를 eax에 넣고 push 한다. 이 값을 확인해보자. 해당주소는 stdin@@GLIBC를 가리키고 있엇고, 0x401068c0을 타고 들어가면 stdin 구조체가 보인다. 그렇다고 한다. 그러면 한번 참고하여 진행해보자. A를 입력한결과 말대로 0x40015000에 A가 들어간 것을 확인할 수있다. 이곳이 st..

    Pwnable Write-Up/02.hackerschool L.O.B 2020. 3. 11. 20:06

    추가 정보

    페이징

    이전
    1 2 3 4 5 ··· 7
    다음
    TISTORY
    pwnkidhn.github.io © rvkhun
    페이스북 트위터 인스타그램 유투브 메일

    티스토리툴바