Grokking Web Application Security

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

When you launch an application on the web, every hacker in the world has access to it. Are you sure your web apps can stand up to the most sophisticated attacks? Grokking Web Application Security is a brilliantly illustrated and clearly written guide that delivers detailed coverage on: • How the browser security model works, including sandboxing, the same-origin policy, and methods of securing cookies • Securing web servers with input validation, escaping of output, and defense in depth • A development process that prevents security bugs • Protecting yourself from browser vulnerabilities such as cross-site scripting, cross-site request forgery, and clickjacking • Network vulnerabilities like man-in-the-middle attacks, SSL-stripping, and DNS poisoning • Preventing authentication vulnerabilities that allow brute forcing of credentials by using single sign-on or multi-factor authentication • Authorization vulnerabilities like broken access control and session jacking • How to use encryption in web applications • Injection attacks, command execution attacks, and remote code execution attacks • Malicious payloads that can be used to attack XML parsers, and file upload functions Grokking Web Application Security teaches you how to build web apps that are ready for and resilient to any attack. It’s laser-focused on what the working programmer needs to know about web security, and is fully illustrated with concrete examples and essential advice from author Malcolm McDonald’s extensive career. You’ll learn what motivates hackers to hack a site, discover the latest tools for identifying security issues, and set up a development lifecycle that catches security issues early. Read it cover to cover for a comprehensive overview of web security, and dip in as a reference whenever you need to tackle a specific vulnerability. About the technology Security is vital for any application, especially those deployed on the web! The internet is full of scripts, bots, and hackers who will seize any opportunity to attack, crack, and hack your site for their own ends. It doesn’t matter which part of a web app you work with—security vulnerabilities can be found in both frontends and backends. Luckily, this comprehensive guide is here with no-nonsense advice that will keep your web apps safe. About the book Grokking Web Application Security teaches you everything you need to know to secure your web applications in the browser, on the server, and even at the code level. The book is perfect for both junior and experienced learners. It’s written to be language-agnostic, with advice and vulnerability insights that will work with any stack. You’ll begin with the foundations of web security and then dive into dozens of practical security recommendations for both common and not-so-common vulnerabilities—everything from SQL injection to cross-site scripting inclusion attacks. Explore growing modern threats like supply-chain attacks and attacks on APIs, learn about cryptography and how it applies to the web, and discover how to pick up the pieces after a hacker has successfully gotten inside your app. About the reader For junior web developers who know the basics of web programming, or more experienced developers looking for concrete advice on solving vulnerabilities. About the author Malcolm McDonald is the creator of hacksplaining.com, a comprehensive and interactive security training solution that helps working web developers brush up on their security knowledge. He is a security engineer with 20 years of experience across investment banking, start-ups, and PayPal. He has personally trained thousands of developers in web security over his career.

Author(s): Malcolm McDonald
Edition: 1
Publisher: Manning Publications
Year: 2024

Language: English
Commentary: Publisher's PDF
Pages: 336
City: Shelter Island, NY
Tags: Security; Python; Web Applications; Best Practices; Encryption; Incident Response; Web Servers; Vulnerability Analysis; SQL Injection

Grokking Web Application Security
brief contents
сontents
foreword
preface
acknowledgments
about this book
about the author
Part 1
1 Know your enemy
Figuring out how hackers attack you (and why)
Surviving the fallout from getting hacked
Determining how paranoid you should be
Knowing where to start protecting yourself
Summary
2 Browser security
The parts of a browser
The JavaScript sandbox
Disk access
Cookies
Cross-site tracking
Summary
3 Encryption
The principles of encryption
Encryption keys
Encryption in transit
Encryption at rest
Integrity checking
Summary
4 Web server security
Validating input
Escaping output
Handling resources
Representation State Transfer (REST)
Defense in depth
The principle of least privilege
Summary
5 Security as a process
Using the four-eyes principle
Applying the principle of least privilege to processes
Automating everything you can
Not reinventing the wheel
Keeping audit trails
Writing code securely
Using tools to protect yourself
Owning your mistakes
Summary
Part 2
6 Browser vulnerabilities
Cross-site scripting
Cross-site request forgery
Clickjacking
Cross-site script inclusion
Summary
7 Network vulnerabilities
Monster-in-the-middle vulnerabilities
Misdirection vulnerabilities
Certificate compromise
Stolen keys
Summary
8 Authentication vulnerabilities
Brute-force attacks
Single sign-on
Strengthening your authentication
Multifactor authentication
Biometrics
Storing credentials
User enumeration
Summary
9 Session vulnerabilities
How sessions work
Session hijacking
Session tampering
Summary
10 Authorization vulnerabilities
Modeling authorization
Designing authorization
Implementing access control
Testing authorization
Spotting common authorization flaws
Summary
11 Payload vulnerabilities
Deserialization attacks
XML vulnerabilities
File upload vulnerabilities
Path traversal
Mass assignment
Summary
12 Injection vulnerabilities
Remote code execution
SQL injection
NoSQL injection
LDAP injection
Command injection
CRLF injection
Regex injection
Summary
13 Vulnerabilities in third-party code
Dependencies
Farther down the stack
Information leakage
Insecure configuration
Summary
14 Being an unwitting accomplice
Server-side request forgery
Email spoofing
Open redirects
Summary
15 What to do when you get hacked
Knowing when you’ve been hacked
Stopping an attack in progress
Figuring out what went wrong
Preventing the attack from happening again
Communicating details about the incident to users
Deescalating future attacks
Summary
index
index
Symbols
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z