The tangled Web : a guide to securing modern Web applications - Zalewski, Michal (San Francisco : No Starch Press, 2012)
"'Thorough and comprehensive coverage from one of the foremost experts in browser security.' --Tavis Ormandy, Google Inc. Modern web applications are built on a tangle of technologies that have been developed over time and then haphazardly pieced together. Every piece of the web application stack, from HTTP requests to browser-side scripts, comes with important yet subtle security consequences. To keep users safe, it is essential for developers to confidently navigate this landscape.In The Tangled Web, Michal Zalewski, one of the world's top browser security experts, offers a compelling narrative that explains exactly how browsers work and why they're fundamentally insecure. Rather than dispense simplistic advice on vulnerabilities, Zalewski examines the entire browser security model, revealing weak points and providing crucial information for shoring up web application security. You'll learn how to: Perform common but surprisingly complex tasks such as URL parsing and HTML sanitization Use modern security features like Strict Transport Security, CSP, and CORS Leverage many variants of the same-origin policy to safely compartmentalize complex web applications and protect user credentials in case of XSS bugs Build mashups and embed gadgets without getting stung by the tricky frame navigation policy Embed or host user-supplied content without running into the trap of content sniffing For quick reference, "Security Engineering Cheat Sheets' at the end of each chapter offer ready solutions to problems you're most likely to encounter. With coverage extending as far as planned HTML5 features, The Tangled Web will help you create secure web applications to stand the test of time"--
Includes bibliographical references (p. 267-282) and index.
Keywords: Computer networks -- Security measures; Browsers (Computer programs); Computer security; COMPUTERS / Internet / Security; COMPUTERS / Security / Viruses; COMPUTERS / Networking / General; COMPUTERS / Networking / Network Protocols; COMPUTERS / Security / General; COMPUTERS / Security / Cryptography; COMPUTERS / Networking / Security; COMPUTERS / Web / Web Programming; COMPUTERS / Web / Browsers