Ok her kommer det så.
Mange løsninger, kræver at der indtastes forskellige former for data, der så behandles af programmet, det kan være alt fra brugernavne, passwords, adresser, husnumre, postnumre, forskellige variabler og andet et program har brug for. Hvis vi f.eks. kikker på postnumret som eksempel, så vil en programmør typisk afsætte 4 pladset i hukommelsen til at indeholde postnumret. Denne plads (på 4 cifre) kaldes en buffer. Hvis nu ikke programmøren har sikret sig at brugeren KUN kan indskrive 4 cifre, og der så er en bruger der ved en fejl eller med vilje, kommer til at skrive københavn der hvor der skulle stå et postnummer, og submitter dette, vil ordet københavn blive indskrevet i postnummerets buffer, der jo kun kan indholde 4 cifra. Dette vil betyde at noget af den kode der står i hukkommelsen uden om bufferen vil blive overskrevet med de cifre af ordet københavn der ikke er pladstil i bufferen, og der er nu sket et bufferoverflow.
Når dygtige hackere finder muligheder for bufferoverflow vil disse i første omgang få programmet til at gå ned, men når hackeren først har undersøgt bufferoverflowet i detaljen og fundet ud af hvor stor bufferen er samt hvilken kode der overskrives, kan han lave et indput (f.eks. et postnummer, der ikke kun overskriver koden med noget der ikke virker, men faktisk overskriver den koder der står i hukommelsen med noget der kan bruges og ikke får programmet til at gå ned. Der er nu lavet et exploit til bufferoverflowet.
På
http://www.securityfocus.org/bid kan du finde oplysninger om de fleste sårbarheder, herunder bufferoverflows, du kan finde exempler på exploits samt læse hvad disse overflows kan udnyttes til..
Læs her og spørg hvis du vil vide mere