主页 > 网络知识 > WAF机制及绕过方法总结:注入篇

WAF机制及绕过方法总结:注入篇

本篇文章主要介绍WAF的一些基本原理,总结常见的SQL注入Bypass WAF技巧。WAF是专门为保护基于Web应用程序而设计的,我们研究WAF绕过的目的一是帮助安服人员了解渗透测试中的测试技巧,二是能够对安全设备厂商提供一些安全建议,及时修复WAF存在的安全问题,以增强WAF的完备性和抗攻击性。三是希望网站开发者明白并不是部署了WAF就可以高枕无忧了,要明白漏洞产生的根本原因,最好能在代码层面上就将其修复。

一、WAF的定义

WAF(Web应用防火墙)是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。通俗来说就是WAF产品里集成了一定的检测规则,会对每个请求的内容根据生成的规则进行检测并对不符合安全规则的作出对应的防御处理,从而保证Web应用的安全性与合法性。

二、WAF的工作原理

WAF的处理流程大致可分为四部分:预处理、规则检测、处理模块、日志记录

1.   预处理

预处理阶段首先在接收到数据请求流量时会先判断是否为HTTP/HTTPS请求,之后会查看此URL请求是否在白名单之内,如果该URL请求在白名单列表里,直接交给后端Web服务器进行响应处理,对于不在白名单之内的对数据包解析后进入到规则检测部分。

2.   规则检测

每一种WAF产品都有自己独特的检测规则体系,解析后的数据包会进入到检测体系中进行规则匹配,检查该数据请求是否符合规则,识别出恶意攻击行为。

3.   处理模块

针对不同的检测结果,处理模块会做出不同的安全防御动作,如果符合规则则交给后端Web服务器进行响应处理,对于不符合规则的请求会执行相关的阻断、记录、告警处理。

 

WAF机制及绕过方法总结:注入篇

 

 

WAF机制及绕过方法总结:注入篇

 

 

WAF机制及绕过方法总结:注入篇

 

不同的WAF产品会自定义不同的拦截警告页面,在日常渗透中我们也可以根据不同的拦截页面来辨别出网站使用了哪款WAF产品,从而有目的性的进行WAF绕过。

4.   日志记录

WAF在处理的过程中也会将拦截处理的日志记录下来,方便用户在后续中可以进行日志查看分析。

三、WAF的分类 1.  软WAF

软件WAF安装过程比较简单,需要安装到需要安全防护的web服务器上,以纯软件的方式实现。

代表产品:安全狗,云锁,D盾等

2.  硬WAF

硬件WAF的价格一般比较昂贵,支持多种方式部署到Web服务器前端,识别外部的异常流量,并进行阻断拦截,为Web应用提供安全防护。

代表产品有:Imperva、天清WAG等

3.   云WAF

云WAF的维护成本低,不需要部署任何硬件设备,云WAF的拦截规则会实时更新。对于部署了云WAF的网站,我们发出的数据请求首先会经过云WAF节点进行规则检测,如果请求匹配到WAF拦截规则,则会被WAF进行拦截处理,对于正常、安全的请求则转发到真实Web服务器中进行响应处理。

代表产品有:阿里云云盾,腾讯云WAF等

4.   自定义WAF

我们在平时的渗透测试中,更多情况下会遇到的是网站开发人员自己写的防护规则。网站开发人员为了网站的安全,会在可能遭受攻击的地方增加一些安全防护代码,比如过滤敏感字符,对潜在的威胁的字符进行编码、转义等。

四、WAF的部署方式

1.   透明网桥

2.   反向代理

3.   镜像流量

4.   路由代理

五、 绕WAF的多种方式

为了让大家更清楚的理解绕WAF的方法原理,本次WAF绕过方法的介绍中会增加部分代码示例。

注:本文的代码示例都是在sqli-labs基础上修改的。

正常无拦截规则的代码:

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!