mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-25 22:20:43 +00:00
92 lines
5.8 KiB
Markdown
92 lines
5.8 KiB
Markdown
# Provere bezbednosti funkcija Heap
|
|
|
|
<details>
|
|
|
|
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
Drugi načini podrške HackTricks-u:
|
|
|
|
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
|
|
* Nabavite [**zvanični PEASS & HackTricks suvenir**](https://peass.creator-spring.com)
|
|
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
|
|
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
|
|
|
|
</details>
|
|
|
|
## unlink
|
|
|
|
Ova funkcija uklanja deo iz dvostruko povezane liste. Uobičajene provere osiguravaju da struktura povezane liste ostane dosledna prilikom uklanjanja delova.
|
|
|
|
* **Provere doslednosti**:
|
|
* Provera da li je `P->fd->bk == P` i `P->bk->fd == P`.
|
|
* Poruka o grešci: `corrupted double-linked list`
|
|
|
|
## \_int\_malloc
|
|
|
|
Ova funkcija je odgovorna za dodeljivanje memorije iz hipa. Provere ovde osiguravaju da memorija nije oštećena tokom dodeljivanja.
|
|
|
|
* **Provera Veličine Fastbin-a**:
|
|
* Prilikom uklanjanja dela iz fastbin-a, osigurajte da je veličina dela unutar opsega fastbin-a.
|
|
* Poruka o grešci: `malloc(): memory corruption (fast)`
|
|
* **Provera Doslednosti Smallbin-a**:
|
|
* Prilikom uklanjanja dela iz smallbin-a, osigurajte da su prethodna i sledeća veza u dvostruko povezanoj listi dosledne.
|
|
* Poruka o grešci: `malloc(): smallbin double linked list corrupted`
|
|
* **Provera Opsega Memorije Unsorted Bin-a**:
|
|
* Osigurajte da je veličina delova u unsorted bin-u unutar minimalnih i maksimalnih granica.
|
|
* Poruka o grešci: `malloc(): memory corruption | malloc(): invalid next size (unsorted)`
|
|
* **Provera Doslednosti Unsorted Bin-a (Prvi Scenario)**:
|
|
* Prilikom umetanja preostalog dela u unsorted bin, proverite da li je `unsorted_chunks(av)->fd->bk == unsorted_chunks(av)`.
|
|
* Poruka o grešci: `malloc(): corrupted unsorted chunks`
|
|
* **Provera Doslednosti Unsorted Bin-a (Drugi Scenario)**:
|
|
* Ista provera kao prethodna, ali aktivira se prilikom umetanja nakon deljenja brzog ili malog dela.
|
|
* Poruka o grešci: `malloc(): corrupted unsorted chunks 2`
|
|
|
|
## \_int\_free
|
|
|
|
Ova funkcija oslobađa prethodno dodeljenu memoriju. Provere ovde pomažu u osiguravanju pravilnog oslobađanja memorije i sprečavanju oštećenja memorije.
|
|
|
|
* **Provera Granica Pokazivača**:
|
|
* Osigurajte da pokazivač koji se oslobađa ne obuhvata memoriju.
|
|
* Poruka o grešci: `free(): invalid pointer`
|
|
* **Provera Veličine**:
|
|
* Osigurajte da je veličina dela koje se oslobađa barem `MINSIZE` ili višekratnik `MALLOC_ALIGNMENT`.
|
|
* Poruka o grešci: `free(): invalid size`
|
|
* **Provera Veličine Fastbin-a**:
|
|
* Za fastbin delove, osigurajte da je veličina sledećeg dela unutar minimalnih i maksimalnih granica.
|
|
* Poruka o grešci: `free(): invalid next size (fast)`
|
|
* **Provera Dvostrukog Oslobađanja Fastbin-a**:
|
|
* Prilikom umetanja dela u fastbin, osigurajte da deo na početku nije isti kao deo koji se umeće.
|
|
* Poruka o grešci: `double free or corruption (fasttop)`
|
|
* **Provera Doslednosti Fastbin-a**:
|
|
* Prilikom umetanja u fastbin, osigurajte da su veličine glavnog dela i dela koji se umeće iste.
|
|
* Poruka o grešci: `invalid fastbin entry (free)`
|
|
* **Provera Doslednosti Top Chunk-a**:
|
|
* Za delove koji nisu fastbin, osigurajte da deo nije isti kao top chunk.
|
|
* Poruka o grešci: `double free or corruption (top)`
|
|
* **Provera Granica Memorije**:
|
|
* Osigurajte da je sledeći deo po memoriji unutar granica arene.
|
|
* Poruka o grešci: `double free or corruption (out)`
|
|
* **Provera Bita Prev\_inuse**:
|
|
* Osigurajte da je bit prethodno u upotrebi u sledećem delu označen.
|
|
* Poruka o grešci: `double free or corruption (!prev)`
|
|
* **Provera Normalne Veličine**:
|
|
* Osigurajte da je veličina sledećeg dela unutar validnih opsega.
|
|
* Poruka o grešci: `free(): invalid next size (normal)`
|
|
* **Provera Doslednosti Unsorted Bin-a**:
|
|
* Prilikom umetanja spojenog dela u unsorted bin, proverite da li je `unsorted_chunks(av)->fd->bk == unsorted_chunks(av)`.
|
|
* Poruka o grešci: `free(): corrupted unsorted chunks`
|
|
|
|
<details>
|
|
|
|
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
Drugi načini podrške HackTricks-u:
|
|
|
|
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
|
|
* Nabavite [**zvanični PEASS & HackTricks suvenir**](https://peass.creator-spring.com)
|
|
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
|
|
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
|
|
|
|
</details>
|