Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Vytvorenie vyrovnávacej pamäti . Postupujte podľa tohto príkladu : Spojené
 # include   int main ( ) { char   login_name [ 20 ] ;   printf ( " Zadajte login : " ) ;   scanf ( " % s " , login_name ) ;   printf ( " Buffer Overflow " ) ;   }   tento základný kód vytvorí pole znakov ( slovo , v podstate ) s názvom " login_name " , ktorá sa bude držať vstup užívateľa . Všimnite si , že " login_name " je iba 20 znakov . Program potom požiada o vstup užívateľa , a ukladá informácie do " login_name . "   Pretože sa pretečeniu vyrovnávacej pamäti . Zostaviť program a spustite ho . Ak budete vyzvaní , zadajte prihlasovacie meno , ktoré presahuje 20 znakov . Napríklad :   Zadajte login : TOTO JE DLHÁ vetu , ktorá obsadí dostupného priestoru v prihlasovacom PREMENNÉ   Hit . " Enter . " Výstupná správa bude tlačiť a program bude ukončený . Premenná prekročil dostupnej vyrovnávacej pamäte v " login_name " premenné . Otázkou potom je , čo sa stalo ?   Pochopiť , ako funguje pamäť počítača . Ako vstup užívateľa bola uložená v " login_name , " prebytok informácie ( ľubovoľný znak okrem 20 znakov ) , bol napísaný v pamäti mimo hraníc premenné . Tieto dáta musia byť uložené niekde . V tomto prípade , sa uloží do pamäte bezprostredne priľahlé k miestu , kde sa nachádza " login_name " premenné . Tým , že ide cez hranice prihlasovacie premenné , extra údaje ( úmyselne alebo neúmyselne ) prepisuje dáta bezprostredne vedľa premenné . To znamená , že hacker mohol v podstate prepísať kód , a zmeniť to, ako kód funguje, v podstate vlastný systém .   Uvedomte si , Linux zraniteľnosť . Linux je kódovaný v C /C + + , a mnoho z jeho základná funkcia vyžaduje manipuláciu znakových reťazcov . Avšak , mnoho moderných distribúcií Linuxu ochranu proti inštancií pretečeniu vyrovnávacej pamäte v miestach , kde sa vyžaduje vstup užívateľa , a to buď prostredníctvom ochrany zásobníka alebo dynamicky veľkosti znakové pole . Stále ešte existujú slabé miesta : buffer overflow USB exploit objavil v roku 2011 , je jedným z príkladov . V prípade USB , extra dlhý USB ID môže pretiecť systémovú premennú v Linuxe . 
 
 
 
 
 
 
 
 2 
 
 
 3 
 4