sql 注入绕过waf

2019-02-15  本文已影响8人  失眠是真滴难受

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仅供参考

上一篇 下一篇

猜你喜欢

热点阅读