bypassing web application firewall | 简介WAF,WAF 绕过和技术(一)

  • A+
所属分类:安全文章

bypassing web application firewall | 简介WAF,WAF 绕过和技术(一)


模块1 简介WAFWAF 绕过和技术


WAFWAF类型和WAF绕过介绍

众所周知,Web应用程序防火墙是一种位于我们Web应用程序前面的防火墙,它过滤,分析和阻止所有通过的HTTP通信,并尝试与Web服务器进行通信。此安全性实现的基本元素是HTTP协议,该协议管理客户端与服务器之间的通信,反之亦然。WAF在此协议中正在做的事情是为HTTP对话设置规则。这些规则可以保护网站免受行业中常见的攻击,例如跨站点脚本和SQL注入,但是正如您所了解的那样,这并不是那么容易,而且很多时候它们都会失败。

 

您可能已经看到过称为反向代理的WAF。这是因为WAF通常在保护服务器端,如果我们说代理可以保护客户端,那么反向代理可以保护服务器。还应注意,HTTP是无状态的,Web应用程序也是如此。这意味着Web应用程序利用来自HTTP的处理信息,而没有使用HTTP。这会导致很多次不兼容,但是在本课程中我们将不对其进行分析。

 

您可能会遇到多种形式的WAF安装,例如服务器插件,过滤器,甚至是针对特定应用程序定制的WAF。此外,在以下三类中,我们可以区分出不同类型的WAF:

1.基于设备的Web应用程序防火墙

2.云和混合Web应用程序防火墙

3.代码集成的Web应用程序防火墙

 

第一类是基于设备的WAF,它与服务器管理器实际安装到服务器的物理WAF有关。它位于服务器的每个Web基础结构的前面,并且具有无需连接到WAF服务的远程服务器的巨大优势。它是快速,可靠的,并且在您的设施上,因此您可以自行解决它可能面临的问题。很多时候,这可能是不利的一面,因为在紧急情况下您将始终需要专业的人员在您的设施中。由于这种类型的物理结构,基于设备的WAF必须处理服务器可能具有的所有流量和协议要求,因此必须为任何可能的情况设置安装时间,否则可能会遇到以下问题:未来。

 

与第一类有很多不同的下一类是基于云的WAF,顾名思义,它们是基于云的防火墙。大多数情况下,它们安装在云WAF提供基于WAF,我们对DDoS攻击提供了严格的保护,这是最近十年的常见威胁。另一方面,分布式解决方案可以用于拥有多个服务器位置的公司,并且它们并不需要在所有位置都使用物理解决方案。

 

最后,我们拥有代码集成解决方案,该解决方案仅基于软件,并且在大多数情况下,它们会更改Web应用程序代码或驻留在服务器上。如您所知,不需要硬件的东西使其更便宜,更易于修复且更易于更新。您在公司中仍然需要专门的东西,但是如果WAF构建良好,它可以使事情变得如此简单,甚至普通的IT员工也可以处理。

 

 

Web服务器和WAF放置

 

Web服务器基本上是我们在本课程中讨论的Web应用程序和WAF的宿主。它由专门的硬件和软件组成,它们管理客户端和服务器之间的通信,并且具有多种 协议,例如HTTP和FTP。Web服务器大部分时间用于服务网页,从硬件的角度来看,它与存储网页结构所需文件并将其提供给客户端的计算机非常相似。软件方面通过许多不同的实现来管理文件系统的通信和访问控制。

bypassing web application firewall | 简介WAF,WAF 绕过和技术(一)

Web服务器上放置WAF的情况下,我们拥有的设备可以像您想象的那样是一个单独的硬件,位于Web服务器上所有其他硬件的前面。所有流量都必须首先通过并由WAF过滤,因此所有内容均已连接到WAF。在基于云的系统中,我们可能都很难软件和远程云服务,但区别在于远程解决方案,即流量首先通过远程云服务器,然后进行过滤,然后将其重定向到我们的Web服务器。最后,我们有代码集成解决方案,正如我们所说的,该软件位于Web服务器中所有其他软件的前面,可以过滤所有流量并将其允许到其他Web应用程序或阻止它。

bypassing web application firewall | 简介WAF,WAF 绕过和技术(一)

WAF在制定其安全策略时可以遵循两种安全模型,这可以是肯定的也可以是否定的。在积极的安全策略中,WAF允许良好的流量通过,并阻止所有其他流量。在否定模型中,WAF允许所有流量通过,并且仅尝试阻止已知为不良流量。很多时候,WAF都使用这两种模型,但是事情变得复杂了,因此大多数都选择了这两种模型之一。

 

WAF操作模式 

除了安全模型外,我们还有以下几种操作模式:

WAF。WAF可以根据我们想要的用途进行不同的操作为了。他们每个人都有其积极和消极的方面,这是一个严重的问题。

为您的公司选择WAF时需要考虑的部分。这最著名的操作模式是:

・反向代理:正如我们在模块开始时所说的,WAF可以用作反向代理,因为它位于服务器的前面并过滤所有传入的流量,这与代理相反。很多次,反向代理中的负面影响是可能发生的延迟,但是此问题在较新的解决方案中往往已得到解决。在这种模式下,WAF有其自己的IP地址,所有流量都通过该地址。

・透明代理:此代理具有与反向代理相同的条件,但有一个变化,即它没有IP地址。这是因为它位于另一个防火墙之后,并且不需要在服务器端进行任何网络更改。

・第2层网桥:在这种模式下,WAF再次位于防火墙后面,就像第2层交换机一样(有关更多信息,请访问:https://en.wikipedia.org/wiki/LAN_switching)。这是一种高性能的模式,无需更改服务器端。

・网络监控器模式: 在这种模式下,WAF位于Web服务器(如基于云的服务器)的外部,它嗅探并监视前往Web服务器 的所有流量。在这种情况下,WAF通过发送TCP重置将其中断来阻止不需要的流量。

 

WAF过滤规则

WAF具有一些开箱即用的预设规则,当然,它们会多次更新。这些规则众所周知是不好的,因此当对服务器进行请求时,WAF会将其与这些规则进行比较。如果请求符合预设规则之一,则该请求将被阻止,因为它是面对恶意。而且,在大多数企业WAF解决方案中,这些规则是隐藏的,没有人可以访问或看到它们。之所以发生这种情况,是因为开发人员认为,如果隐藏了这些规则,用户将不会知道这些规则,攻击者也将不会知道它们,因此它可以保护用户免受易绕过的技术的攻击。当然,可以在以后的模块中通过许多方式来绕过这些规则。图3中可以显示对绕过过滤器规则的一些常见修改。另一方面,开源WAF的规则已打开,这是每个人都可以轻松找到绕过方法并将其添加到过滤器规则中的公开调用,是开源社区公认的安全模型。

 

bypassing web application firewall | 简介WAF,WAF 绕过和技术(一)


WAF指纹

 

开始绕过WAF之前,我们需要了解的第一件事是目标中是否完全存在WAF,以及该WAF的工作方式。由于这些原因,我们执行WAF指纹技术,可以分为两种不同的指纹识别方法。一种是被动的,我们尝试在Web服务器的HTTP响应中查找WAF的迹象。很多时候,WAF留下HTTP标头或其他有关其存在的有趣信息,我们可以查找和检查这些信息以进行验证。这样做的缺点是,很多时候WAF都会提供错误的HTTP标头和信息,或者根本没有信息,因此该技术可能是错误的,或者根本没有用。另一种方法是主动指纹识别。通过这种方法,我们检查了WAF的行为。在这里,我们积极检查Web服务器的响应。例如,由于我们前面看到的过滤器规则,许多WAF都在根据URI请求的方式更改其响应。如果我们提供了两个不同的URI,而一个URI成功返回了所请求的材料,而另一个则没有,让我们看一下WAF指纹识别的一些实际示例。如前所述,cookie(或其他HTTP标头)很好地表明了WAF的存在,因为某些Web应用程序防火墙在客户端与Web服务器之间的通信中添加了自己的cookie。例如,我们可以设置代理,例如Burp套件或OWASP ZAP,我们将在其中过滤所有HTTP请求。如果看到WAF在其中添加了cookie的HTTP请求,我们将区分ns_af,在这种情况下,这表明Web应用程序防火墙是Citrix Netscaler。

bypassing web application firewall | 简介WAF,WAF 绕过和技术(一)

手动对目标WAF进行指纹识别的另一种方法是通过检查WAF可能实现的标头更改。一些WAF产品(如Netscaler)再次允许重写标头,它们还可以使Web服务器产生与普通服务器不同的HTTP响应。如此多次会混淆我们可能使用的攻击者或自动化工具。

bypassing web application firewall | 简介WAF,WAF 绕过和技术(一)

继续,另一种有趣的方法是检查服务器响应。通常通过两种方式完成此操作:

1.WAF在响应中标识自己

2.WAF回复特定的响应代码

对于第一个,许多WAF都会用来自它们的消息响应HTML代码,这很容易识别。对于第二个,很多时候我们可能会遇到奇怪的响应代码,例如999,该响应代码可能带有也可能不带有消息,从而使我们无法攻击系统。您可以在WebKnight WAF中看到一个很好的示例,在图像5中以999代码进行响应。

bypassing web application firewall | 简介WAF,WAF 绕过和技术(一)

WAF指纹的其他已知方法是:

・放下动作 –从服务器或客户端发送FIN / RST数据包以终止连接(技术上也可以是IDS / IPS)

・内置规则 –每个WAF具有不同的否定安全签名

・侧通道攻击 –服务器请求中的响应时间可以识别许多WAF(计时行为)


来源:网络



关于我们:

北京路劲科技有限公司(Beijing Lujin Technology Co. , Ltd.)成立于2019年1月4日,是一家提供全面系统集成与信息安全解决方案的专业IT技术服务公司。公司秉承“为网络安全保驾护航”的企业愿景及“提升国家整体安全”的使命,依据风险评估模型和等级保护标准,采用大数据等技术手段,开展网络安全相关业务。公司致力于为各个行业的业务信息化提供软件和通用解决方案、系统架构,系统管理和数据安全服务、以及IT咨询规划、系统集成与系统服务等专业化服务。公司立足北京,走向全国,始终坚持“换位、细节、感恩”的核心价值观,以“共赢、共享、共成长”的经营理念为出发点,集合了一批敢于创新、充满活力、热衷于为IT行业服务的优秀人才,致力于成为您身边的网络安全专家。


关注路劲科技,关注网络安全!

公司:北京路劲科技有限公司

地址:北京市昌平区南邵镇双营西路78号院2号楼5层504


本文始发于微信公众号(LSCteam):bypassing web application firewall | 简介WAF,WAF 绕过和技术(一)

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: