The Web Application Hacker’s Handbook: Discovering and Exploiting Security Flaws

  • ISBN13: 9780470170779
  • Condition: NEW
  • Notes: Brand New from Publisher. No Remainder Mark.

Product Description
This book is a practical guide to discovering and exploiting security flaws in web applications. The authors explain each category of vulnerability using real-world examples, screen shots and code extracts. The book is extremely practical in focus, and describes in detail the steps involved in detecting and exploiting each kind of security weakness found within a variety of applications such as online banking, e-commerce and other web applications. The topics… More >>

The Web Application Hacker’s Handbook: Discovering and Exploiting Security Flaws

5 replies
  1. Jeff Pike says:

    This is the most important IT security title written in the past year or more. Why? Custom web applications offer more opportunities for exploitation than all of the publicized vulnerabilities your hear about combined. This book gives expert treatment to the subject. I found the writing to be very clear and concise in this 727 page volume. There is minimal fluff. While everything is clearly explained, this is not a beginners book. The authors assume that you can read html, JavaScript, etc… Usually with a book like this there are a few really good chapters and some so-so chapters, but that’s not the case here. Chapters 3-18 in this book rock all the way through. Another huge plus is the tools in this book are free.

    The first few chapters provide context and background information. Chapter 3 on Web Application Technologies provides particularly useful background info. The next 666 pages of the book are all about attacking the applications.

    There next five chapters cover mapping application functionality, client side controls, authentication, sessions, and access controls. The coverage is comprehensive. I’m not new to these topics, but I learned so much in every chapter. The depth of coverage is amazing.

    The next six chapters are the heart of this book. They cover injection, path traversal, application logic, XSS and related attacks, automating attacks, and information disclosure. You’ll find full treatment of attacks we’re all familiar with like SQL injection and cross site scripting as well as many that most of us haven’t heard of before. The danger is real and these chapters need to be read.

    The final next four chapters cover attacks against compiled applications, application architecture, web servers, and source code. The final two chapters are more useful as a quick reference. They provide an overview of the tools covered throughout the book and describe attack methodology discussed throughout the book for exploiting each technology.

    This book scores five easily based on the relevance and value of the information.
    Rating: 5 / 5

  2. R. Wesley McGrew says:

    Before you even read a word, “The Web Application Hacker’s Handbook: Discovering and Exploiting Security Flaws” should catch your interest for two reasons. The first is that, by name and cover art, it is being presented by Wiley as the web security counterpart of “The Shellcoder’s Handbook”, which I have already given a positive review. The second reason, which I did not realize it until the book arrived, is that one of the authors, Dafydd Stuttard, is the author of the excellent Burp Suite tools for exploring and exploiting web applications. I use the proxy features of it frequently, and I often tell people it’s the only reason I install a Java VM on my laptop. I was very excited about reading a web application security by the author of such a great set of tools, and it did not let me down.

    I will admit that I haven’t read any other books that focus on attacking web applications, so I do not have anything to compare it to. I can say, however, that this book has very complete and thorough coverage of the topic, from mapping the application to exploitation. While a number of common attacks are covered (such as cross-site scripting and SQL injection), the real value of the book is in the way it teaches the process of finding vulnerabilities. Armed with this, you can more effectively discover problems that involve logical errors unique to the application you’re looking at. The book reads very well cover-to-cover, with each chapter building up another step in a complete web application hacker’s methodology that the authors have put together.

    The topics covered encompass most of the vulnerabilities you’ll see disclosed in applications daily on the mailing lists. Rather than having chapters for specific attacks, the authors gather them up into meaningful categories to present related content together. For example, SQL injection and remote-file-inclusion are rolled into a chapter titled “Injecting Code”. Similarly, cross-site scripting attacks, session fixation, and request forgery are covered in “Attacking Other Users”. There is introductory material in an early chapter on “Web Application Technologies”, however I would recommend that anyone picking this book up be at least somewhat familiar with how web applications work, either from the viewpoint of a developer or understanding the basics of attacks. The questions at the end of each chapter are designed to test the reader’s understanding of the chapter’s material, and I found it helpful to at least read over them and give them some thought. Someone just getting started with web security would probably get a lot of value out of focusing on each question.

    For such a large book, it is a very pleasant surprise to say that I ran across no obvious errors. The website for the book is very complete, and contains answers for all of the questions at the ends of chapters, the source code for a tool developed in one of the chapters, a list of tools described in the text, and a checklist for the methodology presented in the final chapter. If you have an interest in web application security, I would highly recommend picking up a copy of this book, especially if you’re interested in being able to audit applications for vulnerabilities. Even for a web application developer, however, the book has a lot of merit. It’s important to understand the ways in which your application will be attacked, and mitigation strategies are presented in the book for each attack.

    I enjoyed the book, found the techniques presented to be very useful, and I plan on making use of the methodology presented.
    Rating: 5 / 5

  3. Seth Fogie says:

    First off – I will come clean and admit that this review is biased on several levels. Since the public facing web application security community is small, any published work or presentation will draw the attention of others in the field and often conversations/reviews/blog comments will ensue. Why mention this? Well, Dafydd reviewed XSS Attacks on his blog – a book I co-authored along with other much bigger players in the field. I also have a bit of admiration for Burp, a program Dafydd wrote and is highlighted in most any valuable web app book. So, to say I have no connections to the authors would be misleading – to say the least.

    Now, for the book – just buy it, you won’t be disappointed. As I read through the book (scanning some of the familiar parts), I was overwhelmed with the fact that a full time web application penetration tester has to known A LOT – all of which this book touches on in one way or another. I really can’t think of any other book that can compete…

    For those new to the field, either as security professionals or as web developers, this book will most likely leave you a bit reeling. It does a good job illustrating and demonstrating the many facets of secure web app development. For the more seasoned professional, this book will no doubt serve as a resource to refresh your memory on a trick or technique you forgot about. I know it has already served this purpose for me…

    So, where do I start with a more detailed expose on the book? Personally, I would start by reading chapter 20 – A Web Application Hackers Methodology. By doing this, you will get a look into the minds of the authors who spend a significant part of their lives breaking web apps. You will also gain an understanding as to why the book is laid out the way it is – simply because it is how an attack/penetration test is performed. Don’t expect to understand everything in detail as this will come later. However, you should quickly get the feeling that this book is going to be an interesting read that you can quickly turn into practical coding/attack techniques.

    The book is broken down in to several big parts. The first section will acclimate you to the terms, concepts, and environment that the rest of the book builds upon. This includes a brief look at each of the main sections of the server technology, how a web application functions, and an overview of the attack surface you are about to be exposed to.

    The second section starts to take a look at the web application from an attacker’s point of view by illustrating numerous ways that an application can be mapped for later analysis. If you are a web developer, chances are you will find that one or more of the techniques discussed will cause a bit of a concern as to how information is stored on your site – you can never assume anything on your web server is safe.

    The big section of the book is where you find the fun stuff. Basically, the authors walk through the following stages of a web application attacks – authentication, session management, access control, code injection, web server bugs, logic errors, and compiled application reverse-engineering. In each section, you get a really in depth and comprehensive look at most every attack vector and technique that web application hackers (both good and bad) use to meet their goals.

    One of the nice things about this book is that it is not just all theory. They include practical and pointed examples that illustrate the problem, but don’t waste your time with pages and pages of source code that serve no purpose but to fill space. At 736 pages, the book doesn’t need filler.

    In addition to the exploit examples, the authors also provide the much needed `protection’ aspect so web developers know how they can shore up their applications against the specific attacks. In my experience, knowing how to secure a web application is often harder than knowing how to break it – so seeing this in the book is a indication of the insight of the authors.

    There were three sections that I paid close attention to – partly because I have a vested interest in the subject, and also because it is how I like to present concepts. The first was chapter 11, which covers Attacking Application Logic. In this chapter, the authors used a Function – Assumption – Attack process to outline the problem and how it was exploited. Since logic errors are 100% based on human error, it is very hard to categorize and illustrate without a good example. So, not only did I get to see how others failed, and how this failure resulted in an attack, but it read like a story.

    The next section was chapter 12 – Attacking Other Users. This section dove into subjects like XSS, XSRF, and the like – all of which I enjoy as indicated by my work on XSS Attacks book.

    And last, but not least, I really liked that the book discussed one aspect of web application security that is often overlooked – reverse-engineering of client side `thick client’. Whether this is a Flash, Java, ActiveX or C++ coded program, it is possible to reverse-engineer the client side code to inject unexpected content into a web based application. So, kudos to the authors for presenting this attack vector.

    So, is there anything wrong with the book? Well, except for the fact that it could be bigger – no. This book is an excellent way to understand most every attack out there and it will be a valuable resource for any web developer/security professional. If you want more specific details on a subject, you can find that material elsewhere – Cross Site Scripting Attacks: XSS Exploits and Defense, The Database Hacker’s Handbook: Defending Database Servers, and Exploiting Online Games: Cheating Massively Distributed Systems (Addison-Wesley Software Security Series) are a few examples.

    Let’s sum this up. The Web Application Hackers Handbook is a worth while investment, so go buy it.
    Rating: 5 / 5

  4. Kevin M. Horvath says:

    If you do any type of professional Web Application Assessments then this is your bible. I have read many books on web app assessments and perform many Web Application Assessments for many large companies and government agencies and this is an excellent resource. I use Dafydd’s Burp Suite and I can not say enough about it. If you are serious about Web Application security then this is a must read. Thanks to Dafydd and Marcus for a great book.

    Kevin
    Rating: 5 / 5

  5. Brian Shura says:

    This is by far the best book I’ve ever read on web application security. The authors do a great job of describing everything involved in analyzing the security of a web app, both from an attacker’s point of view and in terms of what web developers can do to build their apps in a secure way.

    The book is very well organized, and the sections about attacking other users and testing for logical security issues are important areas that not many other books cover in much detail. I especially liked the questions at the end of each chapter – they really make you think and test your understanding of the content that was covered.

    I agree with the previous reviewer’s comment about web application scanners being just one piece of a thorough security assessment. The chapter on web application scanners did a great job describing the strengths and weaknesses of these products and didn’t include any marketing fluff.

    Rating: 5 / 5

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.