名称: Web之困:现代Web应用安全指南(英文) 作者信息: 作者: Michal Zalewski [ 英文 pdf ]
简单介绍
“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, Content Security Policy, and Cross-Origin Resource Sharing * 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 that stand the test of time.
Preface ………………………………………………………………………………………………………..xvii Chapter 1: Security in the World of Web Applications ………………………………………………..1 PART I: ANATOMY OF THE WEB …………………………………………………………………. 21 Chapter 2: It Starts with a URL …………………………………………………………………………….23 Chapter 3: Hypertext Transfer Protocol ………………………………………………………………….41 Chapter 4: Hypertext Markup Language ………………………………………………………………. 69 Chapter 5: Cascading Style Sheets ………………………………………………………………………87 Chapter 6: Browser-Side Scripts …………………………………………………………………………..95 Chapter 7: Non-HTML Document Types ……………………………………………………………….117 Chapter 8: Content Rendering with Browser Plug-ins………………………………………………..127 PART II: BROWSER SECURITY FEATURES ……………………………………………………… 139 Chapter 9: Content Isolation Logic ……………………………………………………………………..141 Chapter 10: Origin Inheritance………………………………………………………………………….165 Chapter 11: Life Outside Same-Origin Rules ………………………………………………………….173 Chapter 12: Other Security Boundaries ……………………………………………………………….187 Chapter 13: Content Recognition Mechanisms……………………………………………………….197 Chapter 14: Dealing with Rogue Scripts ………………………………………………………………213 Chapter 15: Extrinsic Site Privileges ……………………………………………………………………225 PART III: A GLIMPSE OF THINGS TO COME ………………………………………………….. 233 Chapter 16: New and Upcoming Security Features …………………………………………………235 Chapter 17: Other Browser Mechanisms of Note ……………………………………………………255 Chapter 18: Common Web Vulnerabilities……………………………………………………………261 Epilogue ……………………………………………………………………………………………………..267 Notes …………………………………………………………………………………………………………269 Index ………………………………………………………………………………………………………….283
名称: Windows Via C/C++ 作者信息: 作者: Jeffrey M. Richter [ 英文 pdf ]
简单介绍
Master the intricacies of application development with unmanaged C++ code - straight from the experts. Jeffrey Richter’s classic book is now fully revised for Windows XP, Windows Vista, and Windows Server 2008. You get in-depth, comprehensive guidance, advanced techniques, and extensive code samples to help you program Windows - based applications. Discover how to: * Architect and implement your applications for both 32-bit and 64-bit Windows * Create and manipulate processes and jobs * Schedule, manage, synchronize and destroy threads * Perform asynchronous and synchronous device I/O operations with the I/O completion port * Allocate memory using various techniques including virtual memory, memory-mapped files, and heaps * Manipulate the default committed physical storage of thread stacks * Build DLLs for delay-loading, API hooking, and process injection * Using structured exception handling, Windows Error Recovery, and Application Restart services
Part I Required Reading 1 Error Handling 2 Working with Characters and Strings 3 Kernel Objects Part II Getting Work Done 4 Processes 5 Jobs 6 Thread Basics 7 Thread Scheduling, Priorities, and Affinities 8 Thread Synchronization in User Mode 9 Thread Synchronization with Kernel Objects 10 Synchronous and Asynchronous Device I/O 11 The Windows Thread Pool 12 Fibers part III Memory Management 13 Windows Memory Architecture 14 Exploring Virtual Memory 15 Using Virtual Memory in Your Own Applications 16 A Thread’s Stack 17 Memory-Mapped Files 18 Heaps Part IV Dynamic-Link Libraries 19 DLL Basics 12 DLL Advanced Techniques 21 Thread-Local Storage 22 DLL Injection and API Hooking Part V Structured Exception Handling 23 Termination Handlers 24 Exception Handlers and Software Exceptions 25 Unhandled Exceptions, Vectored Exception Handling, and C++Exceptions 26 Error Reporting and Application Recovery Part VI Appendixes A The Build Environment B Message Crackers, Child Control Macros,and API Macros