0x00 注释符号

/* 

--

;%00

0x01 空白字符

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

/**/

0x02 运算符号

+   加法运算
-   减法运算
*   乘法运算
/   除法运算,如果两个表达式值都是整数,那么结果只取整数值,小数值将略去
%   取模运算,返回两数相除后的余数

&   位与逻辑运算,从两个表达式中取对应的位。当且仅当输入表达式中两个位的值都为1时,结果中的位才被设置为1,否则,结果中的位被设置为0
|   位或逻辑运算,从两个表达式中取对应的位。如果输入表达式中两个位只要有一个的值为1时,结果的位就被设置为1,只有当两个位的值都为0时,结果中的位才被设置为0
^   位异或运算,从两个表达式中取对应的位。如果输入表达式中两个位只有一个的值为1时,结果中的位就被设置为1;只有当两个位的值都为0或1时,结果中的位才被设置为0

=   等于 
<>  不等于
>   大于  
!=  不等于
<   小于  
!<  不小于
>=  大于或等于   
!>  不大于
<=  小于或等于

ALL 如果一组的比较都为true,则比较结果为true
AND 如果两个布尔表达式都为true,则结果为true;如果其中一个表达式为false,则结果为false
ANY 如果一组的比较中任何一个为true,则结果为true
BETWEEN 如果操作数在某个范围之内,那么结果为true
EXISTS  如果子查询中包含了一些行,那么结果为true
IN  如果操作数等于表达式列表中的一个,那么结果为true
LIKE    如果操作数与某种模式相匹配,那么结果为true
NOT 对任何其他布尔运算符的结果值取反
OR  如果两个布尔表达式中的任何一个为true,那么结果为true
SOME    如果在一组比较中,有些比较为true,那么结果为true

0x03 语法定义符号


< > 尖括号,用于分隔字符串,字符串为语法元素的名称,SQL语言的非终结符。


::= 定义操作符。用在生成规则中,分隔规则定义的元素和规则定义。 被定义的元素位于操作符的左边,规则定义位于操作符的右边。


[ ] 方括号表示规则中的可选元素。方括号中的规则部分可以明确指定也可以省略。


{ } 花括号聚集规则中的元素。在花括号中的规则部分必须明确指定。


() 括号是分组运算符

跟mysql一样,熟练的了解这些数据库的符号特性,有利于我们绕过WAF。

0x04 文末

本文如有错误,请及时提醒,避免误导他人

BY 404

标签: mssql

添加新评论