tietoturva ja ohjelmointi, puskurin ylivuoto, tai puskurin ylivuoto, on epäkohta, jossa ohjelma, kun kirjoitat tietoja puskuriin, aiheutetaan puskurin ylivuoto n rajan ja korvaa vieressä muisti. Tämä on erikoistapaus rikkoo muistia turvallisuuden. Puskurin ylivuotoja voidaan laukaista tulot, jotka on suunniteltu suorittaa koodia, tai muuttaa tapaa, jolla ohjelma toimii. Tämä voi johtaa äkillisiin ohjelman käyttäytymistä, kuten muistin pääsy virheitä, virheellisiä tuloksia, kaatuu, tai rikkoo järjestelmän turvallisuutta.
Ne ovat siis perustan monille ohjelmistojen haavoittuvuuksia ja voidaan vahingoittamistarkoituksessa hyödyntää. Ohjelmointikielet yleisesti liittyvät puskurin ylivuotoja ovat C ja C ++, joista ei ole sisäänrakennettu suojaa päästä tai korvaa tietoja missään osassa muistia ja eivät automaattisesti tarkistaa, että tiedot kirjoitetaan array (sisäänrakennettu Puskurityyppi) on sisällä rajat että jono. Rajojen tarkistusta voi estää puskurin ylivuotoja.
Tiedän, että sinulla on paljon kysymyksiä Mikä on syy tämän Hullu virheen? > Se on virhe ohjelmointi.
(Kirjoittaminen koodit) Onko tärkeää oppia; se on vain pieni tyhmä hyödyntää? > Tämäntyyppinen hyödyntää miten tehdä eroa Professional Hakkerit ja Normaali Hakkerit. Selitän, että Oppitunti 4;). Voiko u antaa minulle tekninen kuvaus puskurin ylivuoto tapahtuu, kun tietoja kirjoitetaan puskuriin, riittämättömän rajojen tarkastusta, turmelee tiedot arvot muistiosoitteita vieressä varattu puskuriin. Yleisimmin tämä tapahtuu, kun kopioit merkkijonoa yhdestä puskuri toiseen.
Basic esimerkki Seuraavassa esimerkissä, ohjelma on määritellyt kaksi tietoerät jotka ovat vierekkäin muistissa: 8- tavu-pitkä jono puskuri, ja kahden tavun kokonaisluku, B. Aluksi sisältää pelkästään nolla tavua, ja B sisältää numero 1979. Hahmot ovat yhden tavun laaja. muuttujan nimi AB arvo [tyhjä merkkijono] 1979 hex arvo 00 00 00 00 00 00 00 00 07 BB Nyt, ohjelma yrittää tallentaa null-päättyvä merkkijono "liiallinen" in puskuriin.
Jättäessään tarkistaa merkkijonon pituus, se korvaa arvo B: muuttujan nimi AB arvo 'e' 'x' 'C' 'e' 's' 's' 'i' "V" 25856 hex 65 78