Skip to main content

Overview

UNION-based SQLi appends a second query to the original using UNION SELECT. Requires: output visible on page, and matching column count/types.

Find Number of Columns

ORDER BY

Increment until error. Last working number = column count.

UNION SELECT NULL

Increment NULLs until no error.

Find Displayable Columns

Check which numbers/letters appear on page — those are injectable positions.

Extract Data

Current Database

Current User

Version


Enumerate Tables

MySQL

PostgreSQL

MSSQL


Enumerate Columns

MySQL

PostgreSQL

MSSQL


Dump Data

MySQL

PostgreSQL

MSSQL


Multiple Columns into One

When only one column is displayable:

String vs Integer Columns

If column expects integer:

Quick Reference


Sources