喜欢的话 可以点个关注哟
你们的点赞支持对博主们来说很重要哦 !!!
本文将针对以下问题逐条进行解答:
01 Waf究竟是什么?
02 Waf的分类有哪些?
03 Waf可以用来干什么?
04 我们如何判断是否有Waf?
05 我们可以如何绕过waf?
# 01 Waf简介
Waf,也称为Web应用防火墙,它是通过 执行一系列针对http/https安全策略来专门为Web应用提供保护的一款产品。
通俗来说, Waf就好比你家看门护院的一条忠犬,明星出行时保护其安全的保镖, 只不过在这里,他们保护的对象换成了Web应用、Web网站罢了。
# 02 Waf的分类
目前来看,市面上流行的Waf通常有以下几种:
1、软件型Waf
软件型Waf是安装在服务器上的一个安全软件,因为安装在服务器本地,所以它可以直接接触服务器上的文件, 直接检测服务器上是否 存在webshell、是否有文件被篡改等危险动作。
相较而言,由于是软件形式,就好比我们windows电脑上使用360卫士软件一样。它使用方便,服务器上即装即用,且功能丰富,有图形界面,对于管理人员来说,管理起来非常舒服。
但是同时,由于它是软件,如果要实现对每个请求的解析、识别,可能会存在占用服务器内存过多的情况。除此之外,也存在误报 的可能。
因而,软件型Waf往往适合中小型网站。
2、硬件型Waf
硬件型Waf以硬件形式部署在链路中,支持多种部署方式。
当串联时,可以拦截恶意流量
当并联时,可以只记录攻击不进行拦截
常规硬件Waf的实现方式是通过代理技术代理来自外部的流量,并对请求包进行解析,通过安全规则库的攻击规则进行匹配,如成功匹配规则库中的规则,则识别为异常并进行请求阻断。
相较而言,由于是硬件,所以一般情况下可承受较高的数据吞吐量,且当管理员选择串联模式接入时时,同一个交换机下的所有服务器,都将处于防火墙的防护范围之类。
但其价格昂贵,价格动辄便是几十万甚至几百万,对中小型企业并不友好
3、云Waf
云Waf是近年来随着云计算的推动衍生出来的新产品,云WAF,也称WEB应用防火墙的云模式,这种模式让用户不需要在自己的网络中安装软件程序或部署硬件设备,就可以对网站实施安全防护,它的主要实现方式是利用DNS技术,通过移交域名解析权来实现安全防护。用户的请求首先发送到云端节点进行检测,如存在异常请求则进行拦截否则将请求转发至真实服务器。
这种云Waf一般以反向代理的形式,使对网站的请求报文优先经过waf主机,经waf主机过滤后,认为无害再发送给实际网站服务器。
相较于,其他两种Waf,云Waf有部署简单,维护成本低、用户无需更新、可充当CDN的特点,但其也有缺点,即存在轻易被绕过的风险,由于云Waf的主要实现原理是通过将用户的DNS解析到云节点实现防护,这样一来, 如果黑客通过相关手段获取了服务器的真实IP地址,然后强制解析域名,就可以轻松绕过云Waf对服务器发起攻击。同时,对于某些对数据机密性要求比较高的企业来说,云Waf也并不合适,因为如果使用云Waf,所有的数据会记录到云端,这相当于数据被别人保管,可能存在一定的泄露风险。
所以云Waf目前只适用于安全需求较低的中小型企业或者个人网站,对于安全需求较高的网站,如政府、金融、运营商等,云Waf无法满足相关要求。
4、网站系统内置的Waf
网站系统内置的过滤,直接镶嵌在代码中,相对来说自由度高,一般有
输入参数强制类型转换
输入参数合法性检测
关键函数执行,如SQL、命令执行函数前,对经过代码进行检测
对输入的数据进行替换后再继续执行代码,比如转义、替换掉特殊字符
一般来说,这种Waf与业务更加契合,误报漏报情况少
03 Waf的用途
前面我们提过, Waf就像网站的保镖一样,可以阻隔大部分对Web的恶意工具。
那么具体可以用于防范那些 恶意攻击呢?
其中包括但不限于:
1、网络层防护
1.1、DDOS攻击
1.2 、Syn Flood
1.3、 Ack Flood
1.4、 Http/HttpS Flood
2、Web应用层防护
2.1、SQL注入攻击
2.2、命令注入攻击
2.3、代码执行攻击
2.4、 XSS攻击
2.5、 CSRF攻击
3、Web信息防护
3.1、 对网站上出现的银行卡(信用卡、借记卡)、社保卡、驾照等,采用覆盖和隐藏两种方式。
3.2、 过滤Web中政治敏感词、技术关键词等
3.3、 对Web服务器上的文件进行隐藏,普通访问用户无权限访问该文件
04 判断某个网站是否存在Waf的方法
1、工具判断
使用SQL自带的waf识别模块
如:sqlmap.py -u “要检测的网站” --identify-waf --batch
2、手工判断
直接在找到一个网站存在get请求参数的地方,url后加上最基础的测试语句,并加上不存在的参数,如
aaa=1 union select 1,2,3
按理来说,不存在的参数不会对网站系统的执行产生任何影响,但是如果此时被拦截,如页面无法访问、响应码不同、返回信息与正常请求网页时不同,那么就存在waf
但现如今,大型网站已经很少存在这种空子给你钻咯
05 试图绕过Waf的方法
绕过方法:
我方便自己记忆变得口诀:踢遍天(替编添)
即:
替:大小写混合、关键字替换、生僻函数
编:url编码
添:使用注释、各参数请求拆分
除此之外,对于使用云waf的网站,你可以寻找该网站的真实IP,然后通过IP访问,即可绕过云waf
还可以尝试在cookie中将注入语句放入