仅供学习交流如果你有更好的思路可以一起分享,想一起学习的进我主页

首先WAF(Web Application Firewall),俗称Web应用防火墙,主要的目的实际上是用来过滤不正常或者恶意请求包,以及为服务器打上临时补丁的作用。

1、云waf:

在配置云waf时(通常是CDN包含的waf),DNS需要解析到CDN的ip上去,在请求uri时,数据包就会先经过云waf进行检测,如果通过再将数据包流给主机。常见产品:阿里云防护,腾讯云防护,创宇云之类等。

2、主机防护软件:

在主机上预先安装了这种防护软件,和监听web端口的流量是否有恶意的,所以这种从功能上讲较为全面。这里再插一嘴,mod_security、ngx-lua-waf这类开源waf虽然看起来不错,但是有个弱点就是升级的成本会高一些。常见产品:云锁,安全狗之类产品。

3、硬件WAF:

硬件WAF可以理解为流量代理,一般部署方式都需要流量经过它,针对数据包进行拆包->清洗->规则命中->放行/丢弃,当然现在更有甚者,给WAF上了一个头脑,采用深度学习,语义分析等操作,来减少本身WAF因为单调的规则导致可能被绕过的问题。常见产品:各产品铁盒子waf

为什么WAF可被绕过

  • 业务与安全存在一定的冲突。

  • WAF无法100%覆盖语言,中间件,数据库的特性。

  • WAF本身漏洞。

1、Web容器的特性

特殊的百分号

在 IIS+ASP 的环境中,对于URL请求的参数值中的%,如果和后面的字符构成的字符串在 URL编码表 之外,ASP脚本处理时会将其忽略。

但是waf 拿在包后会对url  比如:id=1 union all se%lect 1,2,3,4 fro%m adm%in     此时waf因为 % 的分隔,无法检测出关键字 select from 等。

但是因为IIS的特性,最后在服务器上解析的时候, id 获取的实际参数就变为1 union all select 1,2,3,4 from admin,从而绕过了waf。

要记住的是这个asp+iis 特性只对 asp 有效

2、 Web应用层的问题

编码绕过

通过一般WAF会针对传来的数据包中带有的编码进行一次解码工作,如果WAF不能进行有效解码还原攻击向量,可能导致绕过,常见编码如URL编码、unicode编码(IIS)、宽字节编码等。例如我们用 url 的二次编码,而经过一次 url解码的之后,WAF可能无法识别出它是恶意的数据,当把该恶意数据放行到Web服务器上时,Web服务器会再一次解码,最后导致了WAF绕过的结果。

3、WAF自身的问题

白名单机制

WAF存在某些机制,不处理和拦截白名单中的请求数据:

1、指定IP或IP段的数据。

2、来自于搜索引擎爬虫的访问数据。

3、其他特征的数据。

最新文章

  1. [ZigBee] 2、 ZigBee开发环境搭建
  2. UVA 10066 The Twin Towers
  3. MySQL学习基础 之 起航篇
  4. js判断ie版本号
  5. Linux发展史
  6. 必须会的SQL语句(一) 创建数据库与删除数据库
  7. 一次JQuery性能优化实战
  8. 《RedHatLinux逻辑卷的管理》——一条龙服务
  9. centos 7 lNMP 安装之php 篇
  10. 深入N皇后问题的两个最高效算法的详解 分类: C/C++ 2014-11-08 17:22 117人阅读 评论(0) 收藏
  11. codeforces 400E. Inna and Binary Logic 线段树
  12. Jquery添加和全部删除
  13. mysql远程连接缓及缺少*.dll文件解决方案
  14. [Noi2016]区间
  15. Apache shiro集群实现 (二) shiro 的INI配置
  16. BZOJ_1367_[Baltic2004]sequence_结论题+可并堆
  17. java中的out of memory
  18. 如何使用JMeter开源性能测试工具来构建Web性能测试体系
  19. Nodejs使用robot操作鼠标键盘
  20. Java File mkdir() mkdirs()

热门文章

  1. Redis 的底层数据结构(字典)
  2. Day 13 linux 的输入输出与管道的使用
  3. select2获取选中的val和text
  4. (转)在阿里云 CentOS 服务器(ECS)上搭建 nginx + mysql + php-fpm 环境
  5. Save&Load--Unity存档读档的学习总结
  6. thymeleaf 遍历使用案例
  7. java基础之循环遍历List和Map
  8. CentOS7下mongodb忘记密码后重置密码
  9. 理解 Redux 的中间件
  10. Spring Security 前后端分离登录,非法请求直接返回 JSON