<summary><strong>Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA USAJILI**](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.
</details>
## 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.
* Kuna **mizunguko inayogongana 2**, moja kwa **anwani** ambapo data imewekwa na nyingine na **ukubwa** wa data hiyo. Inawezekana kubadilisha moja kutoka kwa nyingine, kuruhusu kuandika anwani ya aina yoyote ikionyesha kama ukubwa. Hii inaruhusu kuandika anwani ya kazi ya `free` kwenye jedwali la GOT na kisha kuibadilisha na anwani ya `system`, na kuita free kutoka kwa kumbukumbu yenye `/bin/sh`.
* 64 bit, hakuna nx. Badilisha ukubwa ili upate aina ya kujaza kijeraha ambapo kila kitu kitatumika kama nambari maradufu na kusortiwa kutoka ndogo hadi kubwa hivyo ni lazima kuunda shellcode ambayo inatimiza mahitaji hayo, ikizingatiwa kuwa canary isitoke kutoka mahali pake na mwishowe 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.
* 64 bit, 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 GOT `exit` 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.