
विभिन्न हीप शोषण तकनीकों को सीखने के लिए एक रिपॉजिटरी।
यह रेपो विभिन्न हीप शोषण तकनीकों को सीखने के लिए है।
हम Ubuntu के Libc रिलीज़ को मानक (gold-standard) के रूप में उपयोग करते हैं। प्रत्येक तकनीक को संबंधित Ubuntu रिलीज़ पर काम करने के लिए सत्यापित किया गया है।
आप Debian-आधारित ऑपरेटिंग सिस्टम पर उपयोग किए जा रहे Libc का स्रोत कोड डाउनलोड करने के लिए apt source libc6 चला सकते हैं। आप gdb का उपयोग करके अपने ब्राउज़र में तकनीक को डीबग करने के लिए ▶️ पर भी क्लिक कर सकते हैं।
हमने यह विचार एक हैक मीटिंग के दौरान निकाला, और निम्नलिखित तकनीकों को लागू किया है:
| फ़ाइल | ▶️ | तकनीक | Glibc-संस्करण | पैच | लागू CTF चुनौतियाँ |
|---|---|---|---|---|---|
| first_fit.c | glibc malloc के first-fit व्यवहार को प्रदर्शित करना। | ||||
| calc_tcache_idx.c | glibc की tcache इंडेक्स गणना को प्रदर्शित करना। | ||||
| fastbin_dup.c | ▶️ | fastbin freelist का दुरुपयोग करके malloc को पहले से आवंटित heap पॉइंटर लौटाने के लिए धोखा देना। | < 2.43 | patch | |
| fastbin_dup_into_stack.c | ▶️ | fastbin freelist का दुरुपयोग करके malloc को लगभग-मनमाना पॉइंटर लौटाने के लिए धोखा देना। | < 2.43 | patch | 9447-search-engine, 0ctf 2017-babyheap |
| fastbin_dup_consolidate.c | ▶️ | fastbin freelist और top chunk दोनों पर एक पॉइंटर रखकर malloc को पहले से आवंटित heap पॉइंटर लौटाने के लिए धोखा देना। | < 2.43 | patch | Hitcon 2016 SleepyHolder |
| unsafe_unlink.c | ▶️ | मनमाना लेखन प्राप्त करने के लिए एक भ्रष्ट chunk पर free का शोषण करना। | latest | HITCON CTF 2014-stkof, Insomni'hack 2017-Wheel of Robots | |
| house_of_spirit.c | ▶️ | malloc को लगभग-मनमाना पॉइंटर लौटाने के लिए एक नकली fastbin chunk को free करता है। | latest | hack.lu CTF 2014-OREO | |
| poison_null_byte.c | ▶️ | एकल null byte ओवरफ़्लो का शोषण करना। | latest | PlaidCTF 2015-plaiddb, BalsnCTF 2019-PlainNote | |
| house_of_lore.c | ▶️ | smallbin freelist का दुरुपयोग करके malloc को लगभग-मनमाना पॉइंटर लौटाने के लिए धोखा देना। | latest | ||
| overlapping_chunks.c | ▶️ | unsorted bin में मुक्त किए गए chunk के आकार के overwrite का शोषण करके एक नए allocation को मौजूदा chunk के साथ overlap कराना | < 2.29 | patch | hack.lu CTF 2015-bookstore, Nuit du Hack 2016-night-deamonic-heap |
| overlapping_chunks_2.c | ▶️ | उपयोग में लिए गए chunk के आकार के overwrite का शोषण करके एक नए allocation को मौजूदा chunk के साथ overlap कराना | < 2.29 | patch | |
| mmap_overlapping_chunks.c | उपयोग में लिए गए mmap chunk का शोषण करके एक नए allocation को वर्तमान mmap chunk के साथ overlap कराना | latest | |||
| house_of_force.c | ▶️ | malloc से लगभग-मनमाना pointer वापस पाने के लिए Top Chunk (Wilderness) header का शोषण | < 2.29 | patch | Boston Key Party 2016-cookbook, BCTF 2016-bcloud |
| unsorted_bin_into_stack.c | ▶️ | लगभग-मनमाना pointer वापस पाने के लिए unsorted bin freelist पर मुक्त किए गए chunk के overwrite का शोषण। | < 2.29 | patch |