House of Rabbit
Mahitaji
Uwezo wa kubadilisha kidole cha mbele cha fast bin fd au ukubwa: Hii inamaanisha unaweza kubadilisha kidole cha mbele cha kipande katika fastbin au ukubwa wake.
Uwezo wa kuzindua
malloc_consolidate
: Hii inaweza kufanywa kwa kutoa kipande kikubwa au kufunga kipande cha juu, ambacho kinasababisha kufunga vipande vya heap.
Malengo
Kuunda vipande vinavyolingana: Ili kuwa na kipande kimoja kifunike kingine, kuruhusu mabadiliko zaidi ya heap.
Kufanya vipande vya uwongo: Kudanganya mpangishaji ili atambue kipande cha uwongo kama kipande halali wakati wa shughuli za heap.
Hatua za shambulio
POC 1: Badilisha ukubwa wa kipande cha fast bin
Lengo: Unda kipande kinachofunika kwa kubadilisha ukubwa wa kipande cha fastbin.
Hatua 1: Kutenga Vipande
Tunagawa vipande viwili vya herufi 0x40 kila kimoja. Vipande hivi vitawekwa kwenye orodha ya kontena ya haraka baada ya kuachiliwa.
Hatua 2: Fungua Vipande
Hatua ya 3: Badilisha Ukubwa wa Kipande
Tunabadilisha metadata ya ukubwa wa chunk1
kuwa 0xa1. Hii ni hatua muhimu ya kudanganya mpangishaji wakati wa kufanya ujumuishaji.
Hatua 4: Anzisha
malloc_consolidate
Kutenga kipande kikubwa kunaanzisha kazi ya malloc_consolidate
, ikifunga vipande vidogo kwenye bakuli la haraka. Ukubwa uliobadilishwa wa chunk1
unasababisha kufunika na chunk2
.
Baada ya kufunga, chunk1
inafunika na chunk2
, ikiruhusu unyonyaji zaidi.
POC 2: Badilisha kidude cha fd
fd
Lengo: Unda kipande bandia kwa kubadilisha kidude cha fd
kwenye bakuli la haraka.
Hatua 1: Kutenga Vipande
Maelezo: Tunatenga vipande viwili, kimoja kidogo na kingine kikubwa, ili kuweka kiwango cha rundo kwa ajili ya kipande bandia.
Hatua 2: Unda kipande bandia
Hatua ya 3: Fungua
chunk1
Maelezo: Tunafuta chunk1
, tukiiongeza kwenye orodha ya fastbin.
Hatua 4: Badilisha
fd
yachunk1
Maelezo: Tunabadilisha kiashiria cha mbele (fd
) cha chunk1
ili kielekeze kwenye kipande chetu bandia ndani ya chunk2
.
Hatua 5: Chochote
malloc_consolidate
Kutenga kipande kikubwa tena husababisha malloc_consolidate
, ambayo huprocess kipande bandia.
Kipande bandia huingizwa kwenye orodha ya fastbin, ikifanya iwe kipande halali kwa ajili ya uchunguzi zaidi.
Muhtasari
Mbinu ya House of Rabbit inahusisha kubadilisha ukubwa wa kipande cha fast bin ili kuunda vipande vinavyolingana au kudhibiti kielekezi cha fd
ili kuunda vipande bandia. Hii inaruhusu wachomozaji kuunda vipande halali kwenye rundo, kuruhusu aina mbalimbali za uchunguzi. Kuelewa na kufanya mazoezi ya hatua hizi kutaboresha ujuzi wako wa uchunguzi wa rundo.
Last updated