uepselon: Exploits

Beitrag lesen

Ahoi,

Ein Buffer Overflow entsteht wenn Speicherinhalte größer sind als ihnen vom System her zugedacht ist.

Nein, ein Buffer Overflow entsteht, wenn der Programmierer während der Arbeit geschlafen hat. Wenn man es richtig[tm] macht (also zum Beispiel snprintf statt sprintf nehmen), kann kein Overflow entstehen.

Es ist nicht immer ganz einfach alles zu beachten, es kann z.B. schon sehr kritisch werden, wenn eine simple Variable nur 10 Bytes enthalten darf und in diese dann 20 geschrieben werden. Die 10 Bytes die zuviel sind werden dann im Speicher hinter dem Platz der Variable abgelegt und können so möglicherweise Sprungadressen überschreiben. Was sich dann entsprechend ausnutzen lässt.

Gruß

ueps