WAF介绍及功能

WAF介绍

WAF(Web Application Firewall,Web应用防火墙)及与其相关的知识,这里利用国际上公认的一种说法:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为web应用提供保护的一款产品。

WAF基本上可以分为以下几类:

1.软件型WAF

以软件形式装在所保护的服务器上,直接检测服务器上是否存在webshell,是否有文件被创建等

2.硬件型WAF

在链路中,支持多种部署方式,当串联到链路中时可以拦截恶意流量,在旁路监听模式时只记录攻击不进行拦截。

3.云WAF

一般以反向代理形式工作,通过配置NS记录或CNAME记录,使对网站的请求报文优先经过 WAF主机,经过WAF主机过滤后,将认为无害的请求再发送给实际网站服务器进行请求,可以说是带防护功能的CDN。

4.网站系统内置的WAF

网站系统内置的WAF也可以说是网站系统中内置的过滤,直接镶嵌在代码中,相对来说自由度高,一般有以下这几种情况:

A:输入参数强制类型转换(intval等)

B:输入参数合法性检测

C:关键函数执行(sql执行、页面执行、命令执行等)前,对经过代码流程的输入进行检测

D:对输入的数据进行替换过滤后再继续执行代码流程(转义/替换掉特殊字符等)注:网站系统内置的WAF与业务更加契合,在对安全与业务都比较了解的情况下,可以更少地收到误报与漏报。

WAF的常见功能

总体来说,WAF(Web Application Firewall)的具有以下四个方面的功能:

  • 审计设备:用来截获所有HTTP数据或者仅仅满足某些规则的会话

  • 访问控制设备:用来控制对Web应用的访问,既包括主动安全模式也包括被动安全模式

  • 架构/网络设计工具:当运行在反向代理模式,他们被用来分配职能,集中控制,虚拟基础结构等。

  • WEB应用加固工具:这些功能增强被保护Web应用的安全性,它不仅能够屏蔽WEB应用固有弱点,而且能够保护WEB应用编程错误导致的安全隐患。

WAF的常见特点异常检测协议:拒绝不符合HTTP标准的请求增强的输入验证:代理和服务端的验证,而不只是限于客户端验证白名单&黑名单:白名单适用于稳定的We应用,黑名单适合处理已知问题基于规则和基于异常的保护:基于规则更多的依赖黑名单机制,基于异常更为灵活状态管理:重点进行会话保护

另还有:Cookies保护、抗入侵规避技术、响应监视和信息泄露保护等。

WAF怎么识别扫描器如果是对于扫描器,WAF有其识别之道:

扫描器识别主要由以下几点:

1)扫描器指纹(head字段/请求参数值),以wvs为例,会有很明显的Acunetix在内的标识

2)单IP+ cookie某时间段内触发规则次数

3)隐藏的链接标签等()

4)Cookie植入

5)验证码验证,扫描器无法自动填充验证码

6)单IP请求时间段内Webserver返回http状态404比例,?扫描器探测敏感目录基于字典,找不到文件则返回404

注入过程中怎么判断存在WAF

1.sqlmap

使用SQLMAP中自带的WAF识别模块可以识别处WAF的种类,但是如果所安装的WAF并没有什么特征,SQLMAP就只能识别出类型是Generic。

Sqlmap -u “xxxx.com” --identify-waf –batch 详细可以参考:

https://www.cnblogs.com/insane-Mr-Li/p/10150165.html

要想了解详细的识别规则可以查看SQLMAP的WAF目录下的相关脚本,也可以按照其格式自主添加新的WAF识别规则,写好规则文件后直接放到WAF目录下即可。

2.手工判断

直接在相应网站的URL后面加上基础的语句,比如union select 1,2,3%23,并且放在一个不存在的参数名中,触发WAF的防护,判断是否网站存在WAF。

因为这里选取了一个不存在的参数,所有实际并不会对网站系统的执行流程造成任何影响,此时如果被拦截则说明存在WAF。

(被拦截的表现为(增加了无影响的测试语句后):页面无法访问,响应码不同、返回与正常请求网页时不同的结果等)

©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页