Many friends often ask me ‘What are buffer overflows?’ or ‘What is an exploit’ and often they are people with some programming experience but little or no understanding of lower level programming. I usually describe the process in simple terms and if someone wants more info I refer them to a good book or an online tutorial. This article is a very good short introduction for someone quasi-knowledgeable in C and/or some x86 asm with a casual interest in security.