浅谈WAF——你的网站安全管家

举报
Vista_AX 发表于 2023/06/27 23:12:20 2023/06/27
【摘要】 浅谈WAF——你的网站安全管家

点赞后看,养成习惯
喜欢的话 可以点个关注哟
你们的点赞支持对博主们来说很重要哦 !!!

本文将针对以下问题逐条进行解答:

01 Waf究竟是什么?

02 Waf的分类有哪些?

03 Waf可以用来干什么?

04 我们如何判断是否有Waf?

05 我们可以如何绕过waf?

image.png


# 01 Waf简介

Waf,也称为Web应用防火墙,它是通过执行一系列针对http/https安全策略来专门为Web应用提供保护的一款产品。

image.png

通俗来说, Waf就好比你家看门护院的一条忠犬,明星出行时保护其安全的保镖, 只不过在这里,他们保护的对象换成了Web应用、Web网站罢了。


02 Waf的分类

目前来看,市面上流行的Waf通常有以下几种:

1、软件型Waf

软件型Waf是安装在服务器上的一个安全软件,因为安装在服务器本地,所以它可以直接接触服务器上的文件,直接检测服务器上是否存在webshell、是否有文件被篡改等危险动作。

相较而言,由于是软件形式,就好比我们windows电脑上使用360卫士软件一样。它使用方便,服务器上即装即用,且功能丰富,有图形界面,对于管理人员来说,管理起来非常舒服。

image.png

但是同时,由于它是软件,如果要实现对每个请求的解析、识别,可能会存在占用服务器内存过多的情况。除此之外,也存在误报 的可能。

因而,软件型Waf往往适合中小型网站



2、硬件型Waf

硬件型Waf以硬件形式部署在链路中,支持多种部署方式。

image.png

串联时,可以拦截恶意流量

并联时,可以只记录攻击不进行拦截

常规硬件Waf的实现方式是通过代理技术代理来自外部的流量,并对请求包进行解析,通过安全规则库的攻击规则进行匹配,如成功匹配规则库中的规则,则识别为异常并进行请求阻断。

相较而言,由于是硬件,所以一般情况下可承受较高的数据吞吐量,且当管理员选择串联模式接入时时,同一个交换机下的所有服务器,都将处于防火墙的防护范围之类。

但其价格昂贵,价格动辄便是几十万甚至几百万,对中小型企业并不友好



3、云Waf

云Waf是近年来随着云计算的推动衍生出来的新产品,云WAF,也称WEB应用防火墙的云模式,这种模式让用户不需要在自己的网络中安装软件程序或部署硬件设备,就可以对网站实施安全防护,它的主要实现方式是利用DNS技术,通过移交域名解析权来实现安全防护。用户的请求首先发送到云端节点进行检测,如存在异常请求则进行拦截否则将请求转发至真实服务器。

image.png

这种云Waf一般以反向代理的形式,使对网站的请求报文优先经过waf主机,经waf主机过滤后,认为无害再发送给实际网站服务器。

相较于,其他两种Waf,云Waf有部署简单,维护成本低、用户无需更新、可充当CDN的特点,但其也有缺点,即存在轻易被绕过的风险,由于云Waf的主要实现原理是通过将用户的DNS解析到云节点实现防护,这样一来, 如果黑客通过相关手段获取了服务器的真实IP地址,然后强制解析域名,就可以轻松绕过云Waf对服务器发起攻击。同时,对于某些对数据机密性要求比较高的企业来说,云Waf也并不合适,因为如果使用云Waf,所有的数据会记录到云端,这相当于数据被别人保管,可能存在一定的泄露风险。

所以云Waf目前只适用于安全需求较低的中小型企业或者个人网站,对于安全需求较高的网站,如政府、金融、运营商等,云Waf无法满足相关要求。

4、网站系统内置的Waf

image.png

网站系统内置的过滤,直接镶嵌在代码中,相对来说自由度高,一般有

输入参数强制类型转换

输入参数合法性检测

关键函数执行,如SQL、命令执行函数前,对经过代码进行检测

对输入的数据进行替换后再继续执行代码,比如转义、替换掉特殊字符

一般来说,这种Waf与业务更加契合,误报漏报情况少


03 Waf的用途

前面我们提过, Waf就像网站的保镖一样,可以阻隔大部分对Web的恶意工具。

在这里插入图片描述
那么具体可以用于防范那些 恶意攻击呢?
其中包括但不限于:

1、网络层防护

image.png

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信息防护

image.png

3.1、 对网站上出现的银行卡(信用卡、借记卡)、社保卡、驾照等,采用覆盖和隐藏两种方式。

3.2、 过滤Web中政治敏感词、技术关键词等

3.3、 对Web服务器上的文件进行隐藏,普通访问用户无权限访问该文件



04 判断某个网站是否存在Waf的方法



1、工具判断

使用SQL自带的waf识别模块

如:sqlmap.py -u “要检测的网站” --identify-waf --batch

image.png



2、手工判断

直接在找到一个网站存在get请求参数的地方,url后加上最基础的测试语句,并加上不存在的参数,如
aaa=1 union select 1,2,3

按理来说,不存在的参数不会对网站系统的执行产生任何影响,但是如果此时被拦截,如页面无法访问、响应码不同、返回信息与正常请求网页时不同,那么就存在waf

但现如今,大型网站已经很少存在这种空子给你钻咯



05 试图绕过Waf的方法

绕过方法:
我方便自己记忆变得口诀:踢遍天(替编添)
即:

:大小写混合、关键字替换、生僻函数

:url编码

:使用注释、各参数请求拆分

除此之外,对于使用云waf的网站,你可以寻找该网站的真实IP,然后通过IP访问,即可绕过云waf

还可以尝试在cookie中将注入语句放入

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。