6.特殊符号
特殊字符是什么?除了字符串和数字都是特殊字符 比如~!@#¥%…………&*()—
乌云的一篇waf绕过技巧的文章的几个例子
1.使用反引号`,例如select`version()`,可以用来过正则跟空格,特殊情况下还可以把它当成注释符来用
2.神奇的"- .", select id-1 1.from users; " "是用于字符串链接的,"-"和"."在此也用于连接,可以逃过空格和关键字过滤
3.@符号,select@……1.from users; @用于变量定义如@var_name,一个@表示用户定义,@@表示系统变量
4.Mysql function() as xxx 也可不用as和空格 select-count(id)test from users; //绕过空格限制
7.HTTP参数控制
这种方法是HTTP分割注入,使用控制字符 , 执行换行
也是比较好使的一种方法,
举个栗子: 77169.com/?id=1 union/*&b=*/select 1,user/*&c=*/from users--
这里是不同的参数之间进行分割,到了数据库执行查询时再合并语句
8.缓冲区溢出
缓冲区溢出用于对WAF,有不少WAF是C写的,而C语言本身没有缓冲区保护机制,因此如果WAF在处理测试量时超出其缓冲区长度,就会引发bug从而实现绕过
举个栗子: ?id=1 and(select 1)=(Select 0xA*1000) uNiOn SeLeCt 1,2,version(),4,5,database(),version(),8,9,10,11,12,13,14,15,16,17,18
栗子上的 0xA*1000 指的是0XA后面的 "A" 重复1000次,一般来说对应用软件构成缓冲区溢出都需要比较大的测试长度,这里1000仅供参考
网友评论