I must admit, I was disappointed with Hacking Exposed Web Applications (HE:WA, as another reviewer called it). Overall, I thought it was basically mediocre.
My main fault with the book was that it was incomplete; equal and fair coverage was not given where it should be. For example, Chapter 9 "Attacking Web Datastores" should have been called "Attacking Microsoft SQL Server." While some of the general techniques (i.e. SQL injection attacks) in Chapter 9 could have been applied to any SQL RDBMS, much of it was very specific to a Windows/IIS/ASP/MSSQL setup. This doesn't help me much to write my bread-and-butter Unix/Apache/Perl/PostgreSQL or even
Java/Oracle apps any better.
It seems like the authors wrote their book to be "Hacking IIS Web Applications Exposed" and at the last minute decided to throw in some Apache and Unix here and there, with a sprinkling of Cold Fusion and Netscape Enterprise, to market the book more broadly. If they had just stuck within their expertise (Joel Scambray wrote for Microsoft TechNet's ironically-titled "Ask Us About... Security" column and wrote "Hacking Windows 2000 Exposed") and produced their original book, I think they'd of come up with a better product.
Another problem I have with HE:WA (and the whole HE series) is that they spend too much time on specific attacks and not enough time on the broader security concepts. For example, how useful is the first HE book today? How useful with HE:WA be in three years? I still recommend "Computer Security Basics" to anybody beginning in the security arena, and that book was published over a dozen years ago. CSB remains in print today because it teaches sound pragmatic security <i>concepts</i> that remain relevant today.
I will say, however, that HE:WA does do a better job than some of the other HE books about reinforcing broad concepts (like Input Validation) across all platforms and languages. I still do not feel they teach pragmatic security for web app development though, and it's being pragmatic that will save you from tomorrow's attack. (You've got to distrust your OS, double-check whatever your webserver says, hate your database, and ALWAYS validate your input and you'll be immune to almost all vulnerabilities discussed in HE:WA ).
Despite all the problems I have mentioned, this remains an okay book for a novice web developer looking to learn security, especially those of the One-True-Microsoft-Way persuasion. If you're looking for an alternative, I'm half way through "Web Hacking: Attacks and Defense" (co-authored by Hacking Exposed lead author Stuart McClure) on Safari. I like it better than HE:WA so far, and it seems to be fairly comparable on the target audience and topics covered (and it actually covers them!) I would give it a 4/5 or a 5/5 based on what I've read.
In conclusion, if you can only by one book on Web Application security, don't get this one. Otherwise, it is at least worth a skim and a spot on the bookshelf.