Book Image

The Web Application Hacker's Handbook

By : Dafydd Stuttard, Marcus Pinto
Book Image

The Web Application Hacker's Handbook

By: Dafydd Stuttard, Marcus Pinto

Overview of this book

Web applications are the front door to most organizations, exposing them to attacks that may disclose personal information, execute fraudulent transactions, or compromise ordinary users. This practical book has been completely updated and revised to discuss the latest step-by-step techniques for attacking and defending the range of ever-evolving web applications. Youíll explore the various new technologies employed in web applications that have appeared since the first edition and review the new attack techniques that have been developed, particularly in relation to the client side. The book starts with the current state of web application security and the trends that indicate how it is likely to evolve soon. Youíll examine the core security problem affecting web applications and the defence mechanisms that applications implement to address this problem, and youíll also explore the key technologies used in todayís web application. Next, youíll carry out tasks for breaking into web applications and for executing a comprehensive attack. As you progress, youíll learn to find vulnerabilities in an application's source code and review the tools that can help when you hack web applications. Youíll also study a detailed methodology for performing a comprehensive and deep attack against a specific target. By the end of this book, youíll be able to discover security flaws in web applications and how to deal with them.
Table of Contents (32 chapters)
Free Chapter
1
Cover
2
Title
3
Copyright
4
About the Authors
5
About the Technical Editor
6
MDSec: The Authors’ Company
7
Credits
8
Acknowledgments
31
Index
32
End User License Agreement

General Guidelines

You should always keep in mind some general considerations when carrying out the detailed tasks involved in attacking a web application. These may apply to all the different areas you need to examine and techniques you need to carry out.

  • Remember that several characters have special meaning in different parts of the HTTP request. When you are modifying the data within requests, you should URL-encode these characters to ensure that they are interpreted in the way you intend:
    • & is used to separate parameters in the URL query string and message body. To insert a literal & character, you should encode this as %26.
    • = is used to separate the name and value of each parameter in the URL query string and message body. To insert a literal = character, you should encode this as %3d.
    • ? is used to mark the beginning of the URL query string. To insert a literal ? character, you should encode this as %3f.
    • A space is used to mark the end of the URL in the first line of requests...