waf处理数据的模式
确认身份
白名单=〉通过 大部分企业内部用来数据交流
非白名单=〉数据分析
规则匹配(正则表达式过滤信息)
大致分类
1. 硬件waf:性能好,功能全面,厂商的盈利点
2. 软件waf:安装简单,易使用
3. 代码waf:简单有效
4. 云waf:
绕过技巧
常见的注释符:
//,--,/**/,--+,-- -,
/*!*/ 只有MySQL能识别,在注释里的语句会被执行
50000表示假如,数据库在5.00.00以上版本,会被识别
利用编码绕过
url编码
十六进制编码
unicode编码
特殊字符代替空格
等价函数与命令
函数与变量
hex()、bin() ==> ascii()
sleep() ==> benchmark()
concat_ws() ==> group_concat()
mid()、substr() ==> substring()
@@version ==> version()
@@datadir ==> datadir()
逻辑符号
and &&
or ||
在不能用 = 考虑使用 < >
生僻函数
特殊符号
+ 用来连接字符串 – 也可用来连接字符串 . 也可用来连接字符串,都可以跳过空格和关键字过滤
@ 一个@表示用户定义,@@表示系统变量
() 绕过空格
关键字拆分
‘se’+’lec’+’t’
%S%E%L%E%C%T 1
?id=1;EXEC(‘ma’+’ster..x’+’p_cm’+’dsh’+’ell’’ net user” ’)
!和() ‘or.--+2=--!!!’2
白名单绕过
有些WAF,将admin dede install等特殊目录作为白名单
HTTP参数控制
对查询语句的参数修改,包括HTTP方法、HTTP头控制
1. http重复参数污染
2. http分割注入
变量带入方式
对于防注释的,使用内联的方式绕过