hacktricks/binary-exploitation/heap/heap-functions-security-checks.md

5.9 KiB

Ukaguzi wa Usalama wa Kazi za Heap

Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Kazi hii inaondoa kipande kutoka kwa orodha iliyounganishwa mara mbili. Ukaguzi wa kawaida hufanya uhakika muundo wa orodha iliyounganishwa unabaki thabiti wakati wa kuondoa vipande.

  • Ukaguzi wa Uthabiti:
  • Angalia ikiwa P->fd->bk == P na P->bk->fd == P.
  • Ujumbe wa kosa: corrupted double-linked list

_int_malloc

Kazi hii inahusika na kutenga kumbukumbu kutoka kwa heap. Ukaguzi hapa hufanya uhakika kumbukumbu haijaharibiwa wakati wa kutenga.

  • Ukaguzi wa Ukubwa wa Fastbin:
  • Wakati wa kuondoa kipande kutoka kwa fastbin, hakikisha ukubwa wa kipande uko ndani ya upeo wa fastbin.
  • Ujumbe wa kosa: malloc(): memory corruption (fast)
  • Ukaguzi wa Uthabiti wa Smallbin:
  • Wakati wa kuondoa kipande kutoka kwa smallbin, hakikisha viungo vya awali na vifuatavyo katika orodha iliyounganishwa mara mbili ni thabiti.
  • Ujumbe wa kosa: malloc(): smallbin double linked list corrupted
  • Ukaguzi wa Mipaka ya Kumbukumbu ya Unsorted Bin:
  • Hakikisha ukubwa wa vipande katika unsorted bin uko ndani ya mipaka ya chini na ya juu.
  • Ujumbe wa kosa: malloc(): memory corruption | malloc(): invalid next size (unsorted)
  • Ukaguzi wa Uthabiti wa Unsorted Bin (Kesi ya Kwanza):
  • Wakati wa kuingiza kipande kilichobaki katika unsorted bin, angalia ikiwa unsorted_chunks(av)->fd->bk == unsorted_chunks(av).
  • Ujumbe wa kosa: malloc(): corrupted unsorted chunks
  • Ukaguzi wa Uthabiti wa Unsorted Bin (Kesi ya Pili):
  • Kama ukaguzi uliopita, lakini unachochea wakati wa kuingiza baada ya kugawanya kipande cha haraka au kidogo.
  • Ujumbe wa kosa: malloc(): corrupted unsorted chunks 2

_int_free

Kazi hii huru kumbukumbu iliyotengwa hapo awali. Ukaguzi hapa husaidia kuhakikisha kumbukumbu inatolewa kwa usahihi na kuzuia uharibifu wa kumbukumbu.

  • Ukaguzi wa Mipaka ya Pointer:
  • Hakikisha kipande kinachofutwa hakizunguki kumbukumbu.
  • Ujumbe wa kosa: free(): invalid pointer
  • Ukaguzi wa Ukubwa:
  • Hakikisha ukubwa wa kipande kinachofutwa ni angalau MINSIZE au maradufu ya MALLOC_ALIGNMENT.
  • Ujumbe wa kosa: free(): invalid size
  • Ukaguzi wa Ukubwa wa Fastbin:
  • Kwa vipande vya fastbin, hakikisha ukubwa wa kipande kifuatacho uko ndani ya mipaka ya chini na ya juu.
  • Ujumbe wa kosa: free(): invalid next size (fast)
  • Ukaguzi wa Kufuta Mara Mbili wa Fastbin:
  • Wakati wa kuingiza kipande katika fastbin, hakikisha kipande kichwa sio sawa na kile kinachoingizwa.
  • Ujumbe wa kosa: double free or corruption (fasttop)
  • Ukaguzi wa Uthabiti wa Fastbin:
  • Wakati wa kuingiza katika fastbin, hakikisha ukubwa wa kipande cha kichwa na kile kinachoingizwa ni sawa.
  • Ujumbe wa kosa: invalid fastbin entry (free)
  • Ukaguzi wa Uthabiti wa Kipande cha Juu:
  • Kwa vipande visivyo vya fastbin, hakikisha kipande sio sawa na kipande cha juu.
  • Ujumbe wa kosa: double free or corruption (top)
  • Ukaguzi wa Mipaka ya Kumbukumbu:
  • Hakikisha kipande kifuatacho kwa kumbukumbu iko ndani ya mipaka ya uwanja.
  • Ujumbe wa kosa: double free or corruption (out)
  • Ukaguzi wa Biti ya Prev_inuse:
  • Hakikisha biti ya awali-inatumika katika kipande kifuatacho imeandikwa.
  • Ujumbe wa kosa: double free or corruption (!prev)
  • Ukaguzi wa Ukubwa wa Kawaida:
  • Hakikisha ukubwa wa kipande kifuatacho uko ndani ya upeo wa halali.
  • Ujumbe wa kosa: free(): invalid next size (normal)
  • Ukaguzi wa Uthabiti wa Unsorted Bin:
  • Wakati wa kuingiza kipande kilichounganishwa katika unsorted bin, angalia ikiwa unsorted_chunks(av)->fd->bk == unsorted_chunks(av).
  • Ujumbe wa kosa: free(): corrupted unsorted chunks
Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks: