House of Rabbit
Vereistes
Vermoeë om vinnige bin fd-aanwyser of grootte te wysig: Dit beteken jy kan die voorwaartse aanwyser van 'n blok in die vinnige bin verander of sy grootte.
Vermoeë om
malloc_consolidate
te aktiveer: Dit kan gedoen word deur óf 'n groot blok toe te ken óf die boonste blok saam te voeg, wat die hoop dwing om blokke te konsolideer.
Doelwitte
Skep oorvleuelende blokke: Om een blok met 'n ander te laat oorvleuel, wat verdere hoopmanipulasies moontlik maak.
Vals blokke vervals: Om die toewysers te mislei om 'n vals blok as 'n regmatige blok tydens hoopoperasies te hanteer.
Stappe van die aanval
POC 1: Wysig die grootte van 'n vinnige bin-blok
Doel: Skep 'n oorvleuelende blok deur die grootte van 'n vinnige bin-blok te manipuleer.
Stap 1: Ken Blokke Toe
Stap 2: Vrygemaakte brokke
Ons maak albei brokke vry, en voeg hulle by die fastbin-lys.
Stap 3: Wysig Brok Grootte
Ons verander die grootte metadata van chunk1
na 0xa1. Dit is 'n noodsaaklike stap om die toewysingsprogram tydens konsolidasie te mislei.
chunk1
na 0xa1. Dit is 'n noodsaaklike stap om die toewysingsprogram tydens konsolidasie te mislei.Stap 4: Trigger
malloc_consolidate
POC 2: Wysig die fd
wyser
fd
wyserDoel: Skep 'n vals blokkie deur die vinnige bin fd
wyser te manipuleer.
Stap 1: Allokeer Blokkies
Verduideliking: Ons ken twee stukke toe, een kleiner en een groter, om die heap op te stel vir die vals stuk.
Stap 2: Skep vals stuk
Stap 3: Vry
chunk1
Verduideliking: Ons vry chunk1
, deur dit by die fastbin-lys te voeg.
Stap 4: Wysig
fd
vanchunk1
Verduideliking: Ons verander die voorwaartse aanwyser (fd
) van chunk1
om te wys na ons valse stuk binne chunk2
.
Stap 5: Trigger
malloc_consolidate
Die toewysing van 'n groot blok veroorsaak weer malloc_consolidate
, wat die valse blok verwerk.
Die valse blok word deel van die fastbin-lys, wat dit 'n legitieme blok maak vir verdere uitbuiting.
Opsomming
Die House of Rabbit tegniek behels óf die wysiging van die grootte van 'n fast bin blok om oorvleulende blokke te skep, óf die manipulasie van die fd
wyser om valse blokke te skep. Dit stel aanvallers in staat om legitieme blokke in die heap te vervals, wat verskeie vorme van uitbuiting moontlik maak. Die begrip en oefening van hierdie stappe sal jou heap-uitbuitingsvaardighede verbeter.
Last updated