I picked up this book recently and thus far I must say it's pretty interesting. It certainly explains how buffer overflows and other techniques are used. The majority of the book, not surprisingly, covers off programming aspects itself. This is not a how to program book but rather how can programming, if not done well, can be abused/misused. It also looks at specifics of networking (MITM, hijacking, rst hijacking, etc.) and cryptography.

This is the 1st edition so the text is fairly sparse (only about 230 pages) but what is has is to the point and direct.

I'd recommend it for those going beyond the Hacking Exposed books.