1 | 1) 大小写混合 |
a) 大小写绕过
1 | 大小写绕过用于只针对小写或大写的关键字匹配技术正则表达式/express/i 匹配时大小写不敏感便无法绕过这是最简单的绕过技术 |
b)替换关键字
1 | 这种情况下大小写转化无法绕过而且正则表达式会替换或删除select、union这些关键字如果只匹配一次就很容易绕过 |
c)使用编码
1 | 在Chrome中输入一个链接非保留字的字符浏览器会对其URL编码如空格变为%20、单引号%27、左括号%28、右括号%29 |
2.十六进制编码
1 | z.com/index.php?page_id=-15 /*!u%6eion*/ /*!se%6cect*/1,2,3,4,SELECT(extractvalue(0x3C613E61646D696E3C2F613E,0x2f61)) |
3.Unicode编码
1 | Unicode有所谓的标准编码和非标准编码假设我们用的utf-8为标准编码那么西欧语系所使用的就是非标准编码了 |
d) 使用注释
1 | 看一下常见的用于注释的符号有哪些 |
1.普通注释
1 | z.com/index.php?page_id=-15 %55nION/**/%53ElecT 1,2,3,4 |
2.内联注释
1 | 相比普通注释内联注释用的更多/!content/只有MySQL会正常识别content的内容其他 |
e)等价函数与命令
1 | 有些函数或命令因其关键字被检测出来而无法使用但是在很多情况下可以使用与之等价或类似的代码替代其使用 |
f) 特殊符号
1 |
|
g) 缓冲区溢出(Advanced)
1 | 缓冲区溢出用于对付WAF在内的软件本身有不少WAF是C语言写的而C语言自身没有缓冲区保护机制因此如果WAF在处理测试向量时超出了其缓冲区长度就会引发bug从而实现绕过 |
i) 整合绕过
1 | 整合的意思是结合使用前面谈到的各种绕过技术单一的技术可能无法绕过过滤机制但是多种技术的配合使用成功的可能性就会增加不少了。这一方面来说关系到总体与局部和另一方面则是多种技术的使用创造了更多的可能性组合除非每一种技术单独都无法使用否则它们能产生比自身大得多的能量。 |