# 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: * Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! * Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) * Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee * **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Shiriki mbinu zako za kuvamia kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
## 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](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](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/](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](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).