unlink
Jifunze na zoezi la AWS Hacking:Mafunzo ya HackTricks AWS Timu Nyekundu Mtaalam (ARTE) Jifunze na zoezi la GCP Hacking: Mafunzo ya HackTricks GCP Timu Nyekundu Mtaalam (GRTE)
Code
Maelezo ya Kielelezo
Angalia maelezo mazuri ya kielelezo cha mchakato wa unlink:
Ukaguzi wa Usalama
Angalia kama ukubwa ulioonyeshwa wa kipande ni sawa na prev_size iliyoorodheshwa kwenye kipande kifuatacho
Angalia pia kwamba
P->fd->bk == P
naP->bk->fw == P
Ikiwa kipande si kidogo, hakikisha kwamba
P->fd_nextsize->bk_nextsize == P
naP->bk_nextsize->fd_nextsize == P
Vujisho
Kipande kilichounganishwa hakiisafishi anwani zilizotengwa, hivyo kwa kuwa na ufikivu wa kusoma, ni rahisi kuvuja baadhi ya anwani muhimu:
Vujisho vya Libc:
Ikiwa P iko kichwani mwa orodha iliyounganishwa mara mbili,
bk
itakuwa inaelekeza kwamalloc_state
katika libcIkiwa P iko mwishoni mwa orodha iliyounganishwa mara mbili,
fd
itakuwa inaelekeza kwamalloc_state
katika libcWakati orodha iliyounganishwa mara mbili ina kipande kimoja tu cha bure, P iko katika orodha iliyounganishwa mara mbili, na
fd
nabk
wanaweza kuvuja anwani ndani yamalloc_state
.
Vujisho vya Heap:
Ikiwa P iko kichwani mwa orodha iliyounganishwa mara mbili,
fd
itakuwa inaelekeza kwa kipande kinachopatikana kwenye heapIkiwa P iko mwishoni mwa orodha iliyounganishwa mara mbili,
bk
itakuwa inaelekeza kwa kipande kinachopatikana kwenye heapIkiwa P iko katika orodha iliyounganishwa mara mbili,
fd
nabk
wote watakuwa inaelekeza kwa kipande kinachopatikana kwenye heap
Last updated