iT邦幫忙

2025 iThome 鐵人賽

DAY 17
0
Security

現在是pwn的天下!系列 第 17

【Day-17】heap簡介

  • 分享至 

  • xImage
  •  

前言

前面都已經講完跟stack相關的洞,那我們之後就是要來討論關於heap的漏洞,在此我會先對heap加以介紹

ptmalloc2

  • ptmalloc - glibc
  • tcmalloc - google
  • jemalloc
    ...

malloc

  • 要用多少分配多少,提升記憶體分配效率以及避免記憶體空間的浪費
  • void *ptr = malloc(size): 找到一塊>=size的free chunk,mark為in-use,如果找不到就從系統要memory(brk/mmap)

workflow of malloc

預設的mmap大約為128KB
image

  • size >= 128kb
    • mmap跟kernel要memory
  • size < 128kb
    • 使用heap(brk)跟kernel要memory

main arena

對 binary來說,heap 還沒開始用,因為還沒呼叫 malloc()。
但 kernel 早就把記憶體(heap) 分配好了,交給 glibc 管理,等 binary 要用時(第一次 malloc)才會從那塊記憶體分出來用。
簡單來說就是: 對 kernel 已經分配好了,但對 binary 還沒。

image


上一篇
【Day-16】CRHC - fast food restaurant🍔(fmt->ret2libc)
下一篇
【Day-18】Chunk & bin
系列文
現在是pwn的天下!30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言