什么是WAF?WAF的功能有哪些?
做等保2.0时,安全产品要求加装Web应用防火墙,Web应用防火墙简称WAF(Web Application Firewall,Web应用防火墙),国际上对Web应用防火墙公认的一种说法:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。
一、WAF类别
WAF基本上可以分为以下几类:
1.软件型WAF
以软件形式装在所保护的服务器上,直接检测服务器上是否存在webshell,是否有文件被创建等。
2.硬件型WAF
在链路中,支持多种部署方式,当串联到链路中时可以拦截恶意流量,在旁路监听模式时只记录攻击不进行拦截。
3.云WAF
一般以反向代理形式工作,通过配置NS记录或CNAME记录,使对网站的请求报文优先经过WAF主机,经过WAF主机过滤后,将认为无害的请求再发送给实际网站服务器进行请求,可以说是带防护功能的CDN
4.网站系统内置的WAF
网站系统内置的WAF也可以说是网站系统中内置的过滤,直接镶嵌在代码中,相对来说自由度高。
二、WAF的常见功能
WAF(Web Application Firewall)具有以下四个方面的功能:
1.审计设备
用来截获所有HTTP数据或者仅仅满足某些规则的会话
2.访问控制设备
用来控制对Web应用的访问,既包含主动安全模式,也包含被动安全模式
3.架构/网络设计工具
当运行在反向代理模式,他们被用来分配职能,集中控制,虚拟基础结构等
4.Web应用加固工具
这些功能增强被保护Web应用的安全性,它不仅能够屏蔽Web应用固有弱点,而且能够保护Web应用编程错误导致的安全隐患。
WAF的常见特点异常检测协议:拒绝不符合HTTP标准的请求增强的输入验证:代理和服务端的验证,而不是只限于客户端验证白名单&黑名单:白名单适用于稳定的Web应用,黑名单适合处理已知问题基于规则和基于异常的保护:基于规则更多依赖黑名单机制,基于异常更为灵活状态管理:重点进行会话保护。
另还有:Cookies保护、抗入侵规避技术、响应监视和信息泄露保护等。
注入过程中怎么判断存在WAF
1.sqlmap
使用SQLMAP中自带的WAF识别模块可以识别处WAF的种类,但是如果所安装的WAF并没有什么特征,SQLMAP就只能识别出类型是Generic。
要想了解详细的识别规则可以查看SQLMAP的WAF目录下的相关脚本,也可以按照其格式自主添加新的WAF识别规则,写好规则文件后直接放到WAF目录下即可。
2.手工判断
直接在相应网站的URL后面加上基础的语句,比如union select 1,2,3%23,并且放在一个不存在的参数名中,触发WAF的防护,判断是否网站存在WAF。
因为这里选取了一个不存在的参数,所有实际并不会对网站系统的执行流程造成任何影响,此时如果被拦截则说明存在WAF。
(被拦截的表现为(增加了无影响的测试语句后):页面无法访问,响应码不同、返回与正常请求网页时不同的结果等)
转自:https://zhuanlan.zhihu.com/p/522075139
[1]: https://zhuanlan.zhihu.com/p/522075139