实战中遇到的mssql很少,也没有成体系的绕过手法,大多与mysql的绕过一样,但是得注意SQL语句的写法。
and / or 被过滤
- 双写
- 大小写
- 内联注释
编码
- unicode
- utf-8
- url
空格 被过滤/拦截
括号
- +
- 注释符
空白字符(%01-%20)
01,02,03,04,05,06,07,08,09,0A,0B,0C,0D,0E,0F,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,20
系统关键字(SELECT,WHERE,UNION…)被过滤/拦截
注释符绕过
- 大小写绕过
- 内联注释法绕过
双写
比较符(><) 被过滤/拦截
between a and b
等号 被过滤/拦截
like
<
引号被过滤/拦截
进制转换(通常十六进制)
注释符 被过滤/拦截
手动闭合
id=1' or '1'='1