hacktricks/binary-exploitation/heap/off-by-one-overflow.md

4.6 KiB

Kujazwa kwa kosa moja

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

Njia nyingine za kusaidia HackTricks:

Taarifa Msingi

Kwa kupata ufikiaji wa kujaza 1B, muhusika anaweza kubadilisha habari ya awali ya metadata ya ukubwa, kuruhusu kuharibu vipande ambavyo kimsingi vinaachiliwa, hatimaye kuzalisha kipande ambacho kina kipande kingine halali.

Mfano wa Kanuni:

Lengo

  • Fanya kipande kiwe kimejumuishwa ndani ya kipande kingine ili upatikanaji wa kuandika juu ya kipande cha pili kuruhusu kubadilisha kile kilichomo.

Mahitaji

  • Kujaza kosa moja ili kubadilisha habari ya awali ya metadata ya ukubwa

Udukuzi

  • Vipande 3 vya kumbukumbu (a, b, c) vinahifadhiwa moja baada ya nyingine. Kisha cha kati kinachiliwa. Cha kwanza kina kosa la kujazwa kwa kosa moja na muhusika anaitumia na 0x00 (ikiwa byte iliyotangulia ilikuwa 0x10 itafanya kipande cha kati kiashiria kuwa ni kidogo kwa 0x10 kuliko ilivyo kweli).
  • Kisha, vipande vidogo 2 zaidi vinatengwa katika kipande kilicholiwa cha kati (b), hata hivyo, kwani b + b->ukubwa haujawahi kusasishwa kipande c kwa sababu anwani inayoelekezwa ni ndogo kuliko inavyopaswa.
  • Kisha, b1 na c vinachiliwa. Kwani c - c->ukubwa_uliotangulia bado inaelekeza kwa b (sasa b1), vyote viwili vinajumuishwa katika kipande kimoja. Hata hivyo, b2 bado iko ndani kati ya b1 na c.
  • Hatimaye, malloc mpya inafanywa kurudisha eneo hili la kumbukumbu ambalo kimsingi litakuwa na b2, kuruhusu mmiliki wa malloc mpya kudhibiti maudhui ya b2.

Picha hii inaelezea kikamilifu udukuzi:

https://heap-exploitation.dhavalkapil.com/attacks/shrinking_free_chunks

Marejeo

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

Njia nyingine za kusaidia HackTricks: