House of Einherjar
Last updated
Last updated
Jifunze na zoezi la Kuvamia AWS:Mafunzo ya HackTricks ya Mtaalam wa Timu Nyekundu ya AWS (ARTE) Jifunze na zoezi la Kuvamia GCP: Mafunzo ya HackTricks ya Mtaalam wa Timu Nyekundu ya GCP (GRTE)
Angalia mfano kutoka https://github.com/shellphish/how2heap/blob/master/glibc_2.35/house_of_einherjar.c
Au kutoka https://guyinatuxedo.github.io/42-house_of_einherjar/house_einherjar_exp/index.html#house-of-einherjar-explanation (inaweza kuhitaji kujaza tcache)
Lengo ni kutenga kumbukumbu karibu na anwani yoyote maalum.
Unda kikundi bandia tunapotaka kutenga kikundi:
Weka pointers kuelekeza kwenye yenyewe ili kuepuka ukaguzi wa usalama
Mwaga kwa kibali cha byte moja na byte tupu kutoka kikundi kimoja kwenda kingine kurekebisha bendera ya PREV_INUSE
.
Eleza katika prev_size
ya kikundi kilichotumiwa vibaya na byte tupu tofauti kati yake na kikundi bandia
Ukubwa wa kikundi bandia lazima pia uwe umewekwa ukubwa sawa kuepuka ukaguzi wa usalama
Kwa kujenga vikundi hivi, utahitaji uvujaji wa kumbukumbu ya heap.
Kikundi bandia A
kinachotengenezwa ndani ya kikundi kinachodhibitiwa na mvamizi kikionyesha na fd
na bk
kwenye kikundi cha asili kuepuka ulinzi
Vikundi vingine 2 (B
na C
) vinatengwa
Kwa kutumia mbali moja katika B
moja, biti ya prev in use
inasafishwa na data ya prev_size
inabadilishwa na tofauti kati ya mahali ambapo kikundi cha C
kinatengwa, na kikundi bandia cha A
kilichozalishwa awali
Hii prev_size
na ukubwa katika kikundi bandia A
lazima iwe sawa kuepuka ukaguzi.
Kisha, tcache inajazwa
Kisha, C
inaachiliwa ili iungane na kikundi bandia A
Kisha, kikundi kipya D
kinatengenezwa ambacho kitakuwa kuanzia kwenye kikundi cha bandia cha A
na kufunika kikundi cha B
Nyumba ya Einherjar inamalizika hapa
Hii inaweza kuendelea na shambulio la taka la haraka au sumu ya Tcache:
Fungua B
kuiongeza kwenye taka la haraka / Tcache
fd
ya B
inabadilishwa ikifanya ielekee kwenye anwani ya lengo ikitumia kikundi cha D
(kwani ina B
ndani)
Kisha, malloc 2 zinafanywa na ya pili itakuwa kutenga anwani ya lengo
Baada ya kuachilia pointers hawajafutwa, kwa hivyo bado ni rahisi kufikia data zao. Kwa hivyo kikundi kimoja kimewekwa kwenye taka isiyopangwa na kuvuja pointers inayojumuisha (uvujaji wa libc) na kisha kikundi kipya cha heap kinawekwa kwenye taka isiyopangwa na kuvuja anwani ya kikundi kutoka kwa pointer inayopata.
Kosa la kibajeti la byte tupu katika strtok
.
Tumia Nyumba ya Einherjar kupata hali ya vikundi vinavyopishana na kumaliza na sumu ya Tcache kupata msingi wa kuandika wa kiholela.
Jifunze na zoezi la Kuvamia AWS:Mafunzo ya HackTricks ya Mtaalam wa Timu Nyekundu ya AWS (ARTE) Jifunze na zoezi la Kuvamia GCP: Mafunzo ya HackTricks ya Mtaalam wa Timu Nyekundu ya GCP (GRTE)