Since its early days as an information exchange tool limited to academe, researchers, and the military, the web has grown into a commerce engine that is now omnipresent in all facets of our lifes. More websites are created daily and more applications are developed to allow users to learn, research, and purchase online. As a result, web development is often rushed, which increases the risk of attacks from hackers. Furthermore, the need for secure applications has to be balanced with the need for usability, performance, and reliability. In this book, Whittaker and Andrews demonstrate how rigorous web testing can help prevent and prepare for such attacks. They point out that methodical testing must include identifying threats and attack vectors to establish and then implement the appropriate testing techniques, manual or automated."The techniques in this book are not an option for testers-they are mandatory and these are the guys to tell you how to apply them!"-HarryRobinson, Google. Rigorously test and improve the security of all your Web software! It's as certain as death and taxes: hackers will mercilessly attack your Web sites, applications, and services. If you're vulnerable, you'd better discover these attacks yourself, before the black hats do. Now, there's a definitive, hands-on guide to security-testing any Web-based software: How to Break Web Software. In this book, two renowned experts address every category of Web software exploit: attacks on clients, servers, state, user inputs, and more. You'll master powerful attack tools and techniques as you uncover dozens of crucial, widely exploited flaws in Web architecture and coding. The authors reveal where to look for potential threats and attack vectors, how to rigorously test for each of them, and how to mitigate the problems you find. Coverage includes · Client vulnerabilities, including attacks on client-side validation· State-based attacks: hidden fields, CGI parameters, cookie poisoning, URL jumping, and session hijacking· Attacks on user-supplied inputs: cross-site scripting, SQL injection, and directory traversal· Language- and technology-based attacks: buffer overflows, canonicalization, and NULL string attacks· Server attacks: SQL Injection with stored procedures, command injection, and server fingerprinting· Cryptography, privacy, and attacks on Web services Your Web software is mission-critical-it can't be compromised. Whether you're a developer, tester, QA specialist, or IT manager, this book will help you protect that software-systematically. Companion CD contains full source code for one testing tool you can modify and extend, free Web security testing tools, and complete code from a flawed Web site designed to give you hands-on practice in identifying security holes.