Open Web Application Security Project; highly-regarded organization and much used by cybersecurity professionals.
refers to an injection attack wherein an attacker can execute malicious SQL statements (also commonly referred to as a malicious payload) that control a web application's database server (also commonly referred to as a Relational Database Management System – RDBMS).
Structured Query Language; Programming language for managing and querying data from a relational database.
A question (noun) or to ask a question (verb) - often in relation to a database.
How we define what is stored in a table.
Represents a piece of information (or attribute).
A set of data elements (values) using a model of vertical columns (shown by a name) and horizontal rows (fields), the cell (record) being the unit where a row and column intersect. A table has a specified number of columns by design, but can have any number of rows.
One entry in a table. Each row has an ID that is unique to the table.
A statement in SQL that allows you to ask for a row or multiple rows from a table in a database.
a clause in SQL that allows you to filter results of s SELECT with certain conditions.
An injection risk where the website returns errors that the hacker can use to explore the database more. This is the first clear test that an attacker can use to test to see if a site is vulnerable. It is usually displayed as an unhandled internal exception error. This info is meant for the developer and is not meant to go back and deliver it to a person’s webpage.
An injection risk where the attacker can add a condition that’s always true, like 1=1, often by appending it to the query to pull up even more in a results set. This fundamentally changes the query and can allow someone to pull the entire contents of the database.
Often used when error-based and union-based SQLi do not work. It essentially involves asking the database a series of targeting questions and based on the results gives clues as to how to get the DB to give up its contents.