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

首先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、其他特征的数据。

sql注入100种姿势过waf(一):waf 了解的更多相关文章

  1. sql注入100种姿势过waf(二):过安全狗

    仅供学习交流如果你有更好的思路可以一起分享,想一起学习的进我主页 先去安全狗网站下载最新的安全狗版本 从官网下载 windwos apache版 v4.0.2395  最新版   数据库是mysql ...

  2. SQL注入9种绕过WAF方法

    SQL注入9种绕过WAF方法 0x01前言 WAF区别于常规 防火墙 是因为WAF能够过滤特定Web应用程序的内容,而常规防火墙则充当服务器之间的防御门.通过检查HTTP的流量,它可以防御Web应用安 ...

  3. Sql注入一种dump所有数据的方法

    Select exp(~(select*from(select(concat(@:=0,(select count(*)from`information_schema`.columns where t ...

  4. mysql sql注入getshell新姿势

     sql.php?sql=1'报错信息为:1064:You have an error in your SQL syntax; check the manual that corresponds to ...

  5. CTF SQL注入

    目录 一.宽字节注入 二.基于约束的注入 三.报错注入 四.时间盲注 五.bool盲注 六.order by的注入 六.INSERT.UPDATE.DELETE相关的注入 七.堆叠注入 八.常用绕过 ...

  6. SQL注入绕过waf的一万种姿势

      绕过waf分类: 白盒绕过: 针对代码审计,有的waf采用代码的方式,编写过滤函数,如下blacklist()函数所示: 1 ........ 2 3 $id=$_GET['id']; 4 5 $ ...

  7. SQL注入WAF绕过姿势

    (1)大小写绕过 此类绕过不经常使用,但是用的时候也不能忘了它,他原理是基于SQL语句不分大小写的,但过滤只过滤其中一种. 这里有道题 (2)替换关键字 这种情况下大小写转化无法绕过而且正则表达式会替 ...

  8. SQL注入绕WAF总结

    0x00 前言 在服务器客户端领域,曾经出现过一款360主机卫士,目前已停止更新和维护,官网都打不开了,但服务器中依然经常可以看到它的身影.从半年前的测试虚拟机里面,翻出了360主机卫士Apache版 ...

  9. Bypass ngx_lua_waf SQL注入防御(多姿势)

    0x00 前言 ​ ngx_lua_waf是一款基于ngx_lua的web应用防火墙,使用简单,高性能.轻量级.默认防御规则在wafconf目录中,摘录几条核心的SQL注入防御规则: select.+ ...

随机推荐

  1. c语言的数据类型,运算符,存储类型

    [1词法符号]1. 关键字:32个1) 存储类型:决定(设备)变量的存储位置auto(自动型).extern(外部引用) static(静态型) register(寄存器类型)2) 数据类型:决定设备 ...

  2. SpringCloud学习笔记(7):使用Spring Cloud Config配置中心

    简介 Spring Cloud Config为分布式系统中的外部化配置提供了服务器端和客户端支持,服务器端统一管理所有配置文件,客户端在启动时从服务端获取配置信息.服务器端有多种配置方式,如将配置文件 ...

  3. 一篇文章了解Redis数据库

    文章原创于公众号:程序猿周先森.本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号. redis是一个key-value存储系统.它支持存储的value类型相对更多,包括string(字符串).l ...

  4. Spring Boot 2.x基础教程:构建RESTful API与单元测试

    首先,回顾并详细说明一下在快速入门中使用的@Controller.@RestController.@RequestMapping注解.如果您对Spring MVC不熟悉并且还没有尝试过快速入门案例,建 ...

  5. Centos7搭建Scrapy爬虫环境

    写在前面 因为之前的爬虫环境一直是部署在我自己本地的电脑上的,最近,写了一个监控别人空间的爬虫,需要一直线上24小时运行,所有就打算云服务器上部署环境,也捣鼓了好一会才弄好,还是有一些坑,这里先记录一 ...

  6. html标签和css基础语法与浏览器兼容性等相关基础学习

    <!-- table的使用 --> <h3>前端日常</h3> <form action="https://www.baidu.com"& ...

  7. Java 基本数据类型极限值

    public static void main(String[] args){ System.out.println("Integer.MIN_VALUE = " + Intege ...

  8. .net core 3.0 Signalr - 05 使用jwt将用户跟signalr关联

    Signalr是以Group.Connect为核心来进行推送,比如,给某个组.某个连接来推送,但实际场景中,核心应该是某个组.某个人:然而一个人可以对应多个连接(浏览器多个tab页):本节就来介绍下自 ...

  9. jQuery三级联动效果代码(省、市、区)

    很长时间都不用jquery了,有人问我jquery写三级联动的插件我就写好了发出来吧,正好需要的人都可以看看. 一.html代码 <!DOCTYPE html> <html> ...

  10. Java后台开发方向面试题集合

    内容会不断更新. 初衷是每次看面经肯定都会有一些一时反应不过来的问题,希望集中记录一下便于自己查看. 而答案部分谷歌就很好,当然有些问题可能需要多次谷歌. 对于一些记不住的答案,我也会持续写上一些. ...