What is heap-dump(堆疊轉儲)?
Heap Dump為一個執行中的程式進行「記憶體瞬間快照」,記錄了在某個特定時間點,程式的記憶體(Heap)裡到底裝了哪些東西。這就像是你在玩遊戲時突然按下「暫停」,並把當時場景上所有的角色、道具、數值全部記錄下來存成檔案。 開發者通常在遇到以下情況時,會去「拍這張記憶體快照」:
- 找出記憶體洩漏:如果程式佔用的記憶體只增不減(就像水桶破了洞),最後會導致當機。透過 Heap Dump,你可以檢查是哪個物件「佔著茅坑不拉屎」,明明沒在用了卻一直留在記憶體裡。
- 效能診斷:如果你發現記憶體裡塞滿了幾百萬個重複的字串,這代表程式寫得不夠有效率,可以優化。
- 安全與數位鑑識:許多敏感資訊(密碼、金鑰)在程式執行時會以明文存在記憶體中。即使檔案被刪除了,只要程式還在跑,就能從 Heap Dump 中把這些「證據」撈出來。
解題
打開題目網頁
探測每一個網頁的連結等,發現有一個API swagger UI的介面
進入此網頁,發現有一個API可以獲取heapdump
獲取heapdump檔案
從檔案中找到flag
grep -aoE "picoCTF\{.*?\}" heapdump-1776763637557.heapsnapshot

取得flag
picoCTF{Pat!3nt_15_Th3_K3y_8df117c1}
提交flag



說些什麼吧!