What you will learn in Grokking Web Application Security
Chapter by chapter
Concepts explained in this book
- brute-force attackA brute-force attack is an automated attack that repeatedly tries credential guesses or other candidate values until one succeeds.
- authorization decisionAn authorization decision is a determination of whether an authenticated principal may access a resource or perform an action.
- cross-site scripting attackCross-site scripting (XSS) is a web vulnerability in which attacker-controlled script code is injected into content rendered for other users.
- encryptionEncryption is the cryptographic transformation of readable data into a protected representation that can be reversed with the appropriate key.
- vulnerabilityA weakness in software, configuration, or system design that can be exploited to compromise security.
- cookieA cookie is a small piece of text that a web server directs a browser to store and send with subsequent requests to the applicable domain.
- parameterized queryA parameterized statement is a database command whose structure is fixed separately from the dynamic values bound to it.
- HTTPSHTTPS is HTTP protected by Transport Layer Security for authenticated and encrypted communication.
- authorizationAccess control is the enforcement of rules governing which principals may access particular resources or perform particular actions.
- principle of least privilegeLeast privilege is a security principle in which each software component and process receives only the permissions required to perform its intended functions.
- permissionA permission is an authorization that allows a software component, process, or user to perform a specified action or access a specified resource.
- penetration testingPenetration testing is an authorized security assessment that attempts to identify exploitable weaknesses in a system.
- ransomwareRansomware is malicious software that blocks access to data, commonly by encrypting files, until a ransom is paid.
- hash valueA hash value is the fixed-size digest produced by applying a hashing algorithm to input data.
- hash functionA hashing algorithm deterministically maps input data to a fixed-size hash value while being designed to make different inputs produce different values with high probability.
- multifactor authenticationMultifactor authentication is an authentication technique that requires a user to provide at least two distinct forms of identification.
- file uploadA file upload is the transfer of a file from a client to a web server or other service.
- cross-site request forgeryCross-site request forgery is a web attack that causes a user's browser to send an unintended authenticated request to a site.
- DNS poisoningDNS poisoning is an attack that corrupts name-resolution data so requests are directed to malicious or incorrect network destinations.
- CAPTCHAA CAPTCHA is an automated challenge-response test designed to distinguish human users from computer programs.
- denial-of-service attackA denial-of-service attack is an attack that makes a system or service unavailable or unusable by exhausting resources or overwhelming its processing capacity.
- browserA web browser is software that retrieves, interprets, and displays web resources and executes browser-supported code.
- Content-Security-PolicyA content security policy is a web security standard that specifies permitted sources and execution rules for resources loaded by a web page.
- JSON Web TokenA JSON Web Token is a compact, digitally signed token format that carries claims about a subject, such as a user's profile information.
- bcryptbcrypt is an adaptive password-hashing function designed to make password guessing computationally expensive.
- DNSSECDNSSEC is a set of DNS security extensions that uses digital signatures to authenticate DNS responses and records.
- password authenticationA password is a secret string of characters used to authenticate a user or authorize access to a system.
- advanced persistent threatAn advanced persistent threat is a sustained cyber intrusion campaign conducted by a capable, well-resourced actor against selected targets.
- black hat hackerA black hat hacker is a hacker who performs malicious or illegal acts for financial, political, or other gain.
- dark webThe dark web is a set of internet services intentionally hidden from ordinary indexing and typically accessed through anonymizing networks.
- exploitAn exploit is code or a procedure that takes advantage of a vulnerability to perform malicious or unauthorized activity.
- hackingHacking is an attempt to gain unauthorized access to software systems.
- Kali LinuxKali Linux is a Linux distribution that bundles tools for digital forensics, penetration testing, and security assessment.
- malicious insiderA malicious insider is an employee or contractor who misuses authorized access to harm an organization or disclose its information.
- MetasploitMetasploit is a security testing framework that provides modules for discovering and exploiting vulnerabilities.
- social engineeringSocial engineering is the manipulation of people into revealing confidential information or taking an unsafe action.
- spear phishingSpear phishing is targeted phishing that uses background information to deceive a specifically identified person or group.
- white hat hackerA white hat hacker is a hacker who identifies vulnerabilities with authorization or for defensive purposes.
- authenticationAuthentication is the process of verifying the identity of a user or other entity.
- originA web origin is the combination of a resource's protocol, domain, and port that determines its browser security boundary.
- injection attackAn injection attack is an attack in which crafted input is interpreted as executable commands or code by a target component.
- session hijackingSession hijacking is an attack in which an attacker obtains or takes over a user's authenticated session to impersonate that user.
- malicious codeMalicious code is program code intended to perform unauthorized, harmful, or security-compromising actions.
- doppelganger domainA doppelganger domain is a deceptive domain that mimics a trusted domain through typos or visually similar characters.
- data breachA data breach is an incident in which unauthorized parties gain access to or obtain protected data.
- private keyA private key is a cryptographic key kept secret and used by its owner for operations such as decryption or digital signing.
- digital signatureA cryptographic signature is data generated with a private key that enables verification of a message's authenticity and integrity using the corresponding public key.
- session IDA session identifier is a value that links a client to a server-maintained or client-held web application session.
- identity providerAn identity provider is a service that authenticates users and supplies identity assertions or authentication services to other applications.
- Document Object ModelThe Document Object Model is a programming interface representing an HTML or XML document as a tree of objects that scripts can inspect and modify.
- JavaScript engineA JavaScript engine is software that parses, compiles, and executes JavaScript code.
- man-in-the-middle attackA monster-in-the-middle attack is an attack in which an adversary positions itself between communicating parties to observe or manipulate their traffic.
- credentialA credential is information, such as a username and password, used to authenticate a user.
- dynamic evaluationDynamic evaluation is the execution of code represented as a value in memory rather than stored in a source file.
- cryptographic saltA salt is a random value added to input data before hashing so that identical inputs produce different hash values.
- DTDA document type definition is an XML declaration that specifies the structure, elements, attributes, and entities permitted in a document.
- hsts headerHTTP Strict Transport Security is an HTTP security standard that instructs browsers to access a website only over HTTPS for a specified period.
- remote code executionRemote code execution is an attack in which an attacker causes arbitrary code to run on a remote system.
- client-side sessionA client-side session is a web session whose complete state, including the user identifier, is stored in a cookie sent to the browser.
- SameSite cookieThe SameSite attribute is a cookie attribute that controls whether a browser sends the cookie with cross-site requests.
- secure cookieThe Secure cookie attribute restricts a cookie to transmission over secure connections such as HTTPS.
- regular expressionA regular expression is a pattern notation for describing permissible characters and their ordering in text.
- domain-specific languageA domain-specific language is a programming language tailored to expressing tasks and concepts within a particular problem domain.
- DNS cacheA DNS cache is stored DNS resolution data retained temporarily to answer repeated lookups without querying upstream servers.
- domain name systemThe Domain Name System (DNS) is the hierarchical naming system that maps domain names to network addresses and other DNS records.
- open redirect attackAn open redirect is a web vulnerability in which an application redirects users to an attacker-controlled destination.
- YAMLYAML is a human-readable data serialization format commonly used for configuration files.
- separation of dutiesThe four-eyes principle is a control requiring critical changes or actions to be reviewed by at least two people before implementation.
- rate limitRate limiting restricts the number or frequency of operations that a client can perform during a defined period.
- HttpOnly cookie attributeThe HttpOnly cookie attribute prevents client-side scripts from reading a cookie through browser scripting APIs.
- code reviewA code review is a systematic examination of source code by one or more developers to identify defects, security issues, and other problems.
- botnetA botnet is a centrally controlled network of compromised computers or other devices.
- credential stuffingA credential-stuffing attack tests large collections of previously stolen username-and-password pairs against a targeted service.
- distributed denial of service attackA distributed denial-of-service attack is a denial-of-service attack launched simultaneously from many networked systems or addresses.
- living off the landLiving off the land is an attack technique that relies on legitimate processes and locally available services instead of introducing conspicuous tools.
- password sprayingA password-spraying attack tries a small set of commonly used passwords against many accounts or sites to avoid account-specific lockouts.
- rootkitA rootkit is software that enables or hides privileged access to a computer system.
- stolen credentialA stolen credential is an account identifier or authentication secret obtained without the account holder’s authorization.
- command injectionCommand injection is an attack in which crafted input causes an application to execute unintended commands on the operating system.
- SQL injectionSQL injection is an attack technique that alters a database command by supplying input containing characters or syntax interpreted as SQL.
- TLSTLS is a cryptographic protocol that provides confidentiality, integrity, and authentication for network communications.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.
