Among the tests you perform on web applications, security testing is perhaps the most important, yet it's often the most neglected. The recipes in the Web Security Testing Cookbook demonstrate how developers and testers can check for the most common web security issues, while conducting unit tests, regression tests, or exploratory tests. Unlike ad hoc security assessments, these recipes are repeatable, concise, and systematic-perfect for integrating into your regular test suite.
Recipes cover the basics from observing messages between clients and servers to multi-phase tests that script the login and execution of web application features. By the end of the book, you'll be able to build tests pinpointed at Ajax functions, as well as large multi-step tests for the usual suspects: cross-site scripting and injection attacks. This book helps you:
- Obtain, install, and configure useful-and free-security testing tools
- Understand how your application communicates with users, so you can better simulate attacks in your tests
- Choose from many different methods that simulate common attacks such as SQL injection, cross-site scripting, and manipulating hidden form fields
- Make your tests repeatable by using the scripts and examples in the recipes as starting points for automated tests
Don't live in dread of the midnight phone call telling you that your site has been hacked. With Web Security Testing Cookbook and the free tools used in the book's examples, you can incorporate security coverage into your test suite, and sleep in peace.
About the Author
Paco Hope is a Technical Manager at Cigital, Inc. and co-author of Mastering FreeBSD and OpenBSD Security (April 2005, O'Reilly, ISBN 0596006268). Mr. Hope has also published articles on Misuse and Abuse Cases and PKI. He has been invited to conferences to speak on topics such as software security re-quirements, web application security, and embedded system security. At Cigi-tal, he has served as a subject matter expert to MasterCard International for security policies and has assisted a Fortune 500 hospitality company in writ-ing software security policy. He also trains software developers and testers in the fundamentals of software security. In the gaming and mobile communica-tions industries he has advised several companies on software security. Mr. Hope majored in Computer Science and English at The College of William and Mary and received an M.S. in Computer Science from the University of Virginia.
Ben Walther is a consultant at Cigital and contributor to the Edit Cookies tool. He has a hand in both normal Quality Assurance and Software Security. Day to day, he designs and executes tests - and so he understands the need for simple recipes, in the hectic QA world. Yet he has also given talks on web ap-plication testing tools to members of the Open Web Application Security Pro-ject (OWASP). Through Cigital, he tests systems ranging from financial data processing to slot machines. Mr. Walther has a B.S. in Information Science from Cornell University.
Most helpful customer reviews
4 of 4 people found the following review helpful.
not bad, but overrated
By B. St Pierre
I bought this book on the strength of other reviews, and I'm a bit disappointed. It's useful, but not worthy of 5 stars.
The book is structured like the other "Cookbook" titles from O'Reilly. Each chapter has a series of "recipes" that describe a problem, present a solution, and have some discussion about the issue. It's unclear exactly who the target audience is.
Some of the recipes are very basic -- this is good if you've got very little experience working with tools like curl or wget, but not worth much if you've seen these and know how to read the man pages for these tools to find the flag you're looking for. Recipes like these lead me to believe that the audience for the book includes people who are very new to web technologies.
Other recipes are meaty enough -- there are several recipes that have page-long perl or bash scripts to automate (for example) the hunt for XSS vulnerabilities.
But then again, I can't see how a rookie web tester can possibly get through the book without a lot of head scratching. While vulnerabilities like cross-site scripting (XSS) and SQL injection are mentioned frequently, they are never defined, and their mechanism of operation is never clearly laid out. This leads me to believe that the target audience is people with at least an intermediate-level understanding of what these attacks mean, how they are performed, and what happens behind the scenes.
I was disappointed to see a couple of serious errors after only browsing through the recipes for an hour or so. For example, on page 90 the authors state that on Unix/Linux systems, filenames can contain slashes. This is incorrect: slashes are the only non-NUL character *not* allowed in a Linux filename. Verifying this fact only takes about two minutes of web searching.
Some recipes, like "5.8 Uploading Files with Malicious Names" are too shallow. They mention XSS and SQL injection, which are a concern. But they don't discuss directory traversal or code injection in any depth. There's a bear trap icon with a brief sidebar to hint at other possible problems, but this topic could have had another three or four recipes dedicated to it.
Some topics, like SQL Injection, are not sufficiently discussed. SQL injection, while an important web application security topic, is not covered directly by any particular recipe. It is mentioned in passing in a handful of other recipes, but it does not get the attention it deserves.
This *could* be a great book if they figured out the target audience a little better, got rid of the fluff recipes, got rid of some of the gratuitous (and useless) screen shots, and expanded the depth of coverage of some key topics. But it's not all bad -- it's relatively well structured, and I did learn a few new things. At $40 list price I'd pass, at the 40% or so discount on Amazon it's not a bad resource.
If you want to buy a better version of this book, see How to Break Web Software: Functional and Security Testing of Web Applications and Web Services. Book & CD. It's written with a similar formula, but is much better executed. (That text explains SQL injection in detail as well as how to perform SQL injection attacks, for example.)
1 of 1 people found the following review helpful.
By Rajin K.
Kind of outdated
6 of 6 people found the following review helpful.
See all 13 customer reviews...
Truly Usefull book
By Ron G
This is one of those few books on my bookshelf that I find myself returning to time and time again. My copy is marked, annotated, labeled, etc. so on and so forth. It is indispensable if you work in the industry and IMHO outshines the much larger tome "The Web Application Hackers Handbook". Of particular importance to Web Engineers is also Appendix E found in the book "Sockets, Shellcode, Porting & Coding".
Thanks again Paco, excellent book. Please let us know of the second edition as I will definitely pre-order without a doubt.