I've just read "Hacking: The Art of Exploitation" and I'm interested in this subject. The thing is, this book seems irrelevant to hacking now that OSes have non-executable stacks, canary values on the stack, etc.
So, how what methods are used now to exploit computers?
Edit: Sorry, I wasn't clear. I was wondering about how hackers attack computer programs, not websites