hacktricks/binary-exploitation/array-indexing.md

3.8 KiB

Kupangilia Kwenye Array

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

Njia nyingine za kusaidia HackTricks:

Taarifa Msingi

Kategoria hii inajumuisha mapungufu yote yanayotokea kwa sababu ni rahisi kubadilisha data fulani kupitia makosa katika kushughulikia viashiria katika mizunguko. Ni kategoria pana sana ambayo haina mbinu maalum kwani mbinu ya uvamizi inategemea kabisa hali ya mapungufu.

Hata hivyo, hapa unaweza kupata mifano michache nzuri:

  • https://guyinatuxedo.github.io/11-index/swampctf19_dreamheaps/index.html
  • Kuna mizunguko inayogongana 2, moja kwa anwani ambapo data imewekwa na nyingine na vipimo vya data hiyo. Inawezekana kubadilisha moja kutoka kwa nyingine, kuruhusu kuandika anwani ya aina yoyote ikionyesha kama kipimo. Hii inaruhusu kuandika anwani ya kazi ya free kwenye jedwali la GOT na kisha kuibadilisha na anwani ya system, na kuita free kutoka kwenye kumbukumbu yenye /bin/sh.
  • https://guyinatuxedo.github.io/11-index/csaw18_doubletrouble/index.html
  • 64 biti, hakuna nx. Badilisha kipimo kupata aina ya kujaza buffer ambapo kila kitu kitatumika kama nambari mara mbili na kusortiwa kutoka ndogo hadi kubwa hivyo ni lazima kuunda shellcode ambayo inatimiza mahitaji hayo, ikizingatiwa kuwa canary isitoke kutoka mahali pake na hatimaye kubadilisha RIP na anwani ya ret, ambayo inatimiza mahitaji ya awali na kuweka anwani kubwa kama anwani mpya inayoashiria mwanzo wa mizunguko (iliyovuja na programu) hivyo niwezekane kutumia ret kuruka hapo.
  • https://faraz.faith/2019-10-20-secconctf-2019-sum/
  • 64 biti, hakuna relro, canary, nx, hakuna pie. Kuna off-by-one katika mizunguko kwenye mizunguko ambayo inaruhusu kudhibiti kipanya kutoa WWW (inaandika jumla ya nambari zote za mizunguko kwenye anwani iliyobadilishwa na off-by-one kwenye mizunguko). Mizunguko inadhibitiwa hivyo anwani ya exit ya GOT inabadilishwa na pop rdi; ret, na kwenye mizunguko inaongezwa anwani ya main (kurudi kwa main). Mnyororo wa ROP kutolea anwani ya put kwenye GOT kutumia puts unatumika (exit itaitwa hivyo itaita pop rdi; ret kwa hivyo kutekeleza mnyororo huu kwenye mizunguko). Hatimaye mnyororo mpya wa ROP unatekelezwa ret2lib.
  • https://guyinatuxedo.github.io/14-ret_2_system/tu_guestbook/index.html
  • 32 biti, hakuna relro, hakuna canary, nx, pie. Tumia indexing mbaya kuvuja anwani za libc na heap kutoka kwenye mizunguko. Tumia kujaza buffer kufanya ret2lib ikitoa system('/bin/sh') (anwani ya heap inahitajika kuvuka ukaguzi).