Imagine um copo de água que tem a capacidade de armazenar apenas 300 ml.. Neste mesmo copo, adicione 290 ml.. O que acontece de errado? Nada.Agora neste mesmo copo, imagine que sejam adicionados 310 ml.. E agora, o que acontece? A água que foi colocada a mais transborda, não é? Sim. Mas para onde vão os 10 ml. que foram colocados a mais? Escorrem pelo ralo ou você pode recuperá-los novamente para colocá-los em um outro copo? Com este exemplo muito simples pode-se compreender muito sobre buffer overflows, pois eles funcionam praticamente da mesma forma. É claro que o contexto é outro, e bem diferente, pois ao invés de água e copo, utilizamos bytes, buffers e memórias, e enquanto os 10 ml. que transbordaram do copo podem ser enxugados, os bytes inseridos a mais no caso do buffer overflow podem ser utilizados para causar danos irreparáveis em multinacionais que investem milhões por ano em desenvolvimento de softwares que você pode estar usando agora no seu computador. Para que isso não aconteça, vamos realmente nos inteirar sobre Buffer Overflows.