浅谈waf技术

       WAF(Web Application Firewall)意为web应用防火墙,简而言之就是在用户的web业务前面加了一道墙,用来监听、检测、阻止与web业务程序中的http流量。WAF在Web应用实时深度防御的同时也致力于解决应用及业务逻辑层面的安全问题,广泛适用于“政府、金融、运营商、公安、能源、税务、工商、社保、交通、卫生、教育、电子商务”等所有涉及Web应用的各个行业,WAF应用防火墙,可以解决目前所面临的各类网站安全问题,如:注入攻击、跨站攻击、脚本木马、缓冲区溢出、信息泄露、应用层DoS/DDoS攻击等常见及最新的安全问题等,当然世上没有绝对安全的系统,因此针对于waf各种姿势的绕过这里就不细说了。

  • WAF的分类与技术原理

       WAF一般分为软件形态waf和硬件形态waf,二者功能基本一致,但是在应用场景和灵活性上有着差异。

软件waf

       软件waf一般部署在服务器或者虚拟化环境中,用来检测服务器是否存在webshell或者文件更改、文件上传等等。虚拟化环境一般为国产超融合如:FreeVM(FreeVM-社区版虚拟化平台-极元信息深信服超融合、Zstack、华为超融合、华三、浪潮..等。VM环境一般架构为Vcenter+ESXI这种架构。

       软件waf:国内主流产品如玄武盾、极元web应用加固系统、 安全狗等等。

硬件waf

       硬件waf相较于软件waf来说部署方式、应用场景、部署位置就灵活了许多。目前主要还是以透明串接或者反向代理两种方式为主。

透明串接:

反向代理:

       反向代理和透明串接两种部署方式也有优缺点,反代的方式虽然没有更改用户的架构,但会改变数据包的内容,透明串接的方式可能会出现单点故障,因此,在不考虑成本的情况下用户会用双机热备的方式尽量去减少单点故障这种隐患。无论是透明串接还是反向代理基本都可以发挥waf的功能,像waf的基本功能:

1、强大的特征库;

2、深入检测http/https,高度自由的自定义规则系统, 轻松应对各种最新黑客攻击方式;

3、支持Unicode完全解码,防止攻击者采用Unicode变形绕过防护设备;

4、防扫描;

5、人机识别;

6、Web应用漏洞扫描;

7、Web应用的访问控制;

8、防CC和抗DDoS、DoS攻击能力;

9、网页防篡改;

10、数据防护;

11、自学习和URL模式......

     除了一些知名厂商的产品之外,当然市面上也有一些实用性比较高的开源waf,如Modsecurity,甚至一些网站也内置嵌入了waf用来更好的防护网站的安全。

Waf的技术原理(透明串接方式):

Waf的技术原理(反向代理方式):

  • Waf的功能演示

       这里呢,我就给大家演示一下透明串waf的工作模式,反代模式大家可以自己尝试尝试。

靶机:192.168.3.119

攻击机:192.168.3.148

Waf:192.168.3.230

      博主这里是简单搭建了一个靶场,实际应用中的业务环境肯定要比这复杂多得多。首先利用攻击机做一些简单的文件上传操作:

       这里上传的是一句话木马,<?php @eval($_POST['attack']);?>看到php文件已经上传成功了,我们打开看一下。

       回到靶机,按照攻击机上传的目录,我们找一下上传的php文件:

       木马php已经成功上传了,下面用蚁剑直接上线就ok。

     (如果是实际应用中的话,肯定要考虑各种杀软的,要不然木马肯定会被杀掉,所以木马的上传者会采用各种各样的编译,绕过姿势这里就不细说了。另外,本文章仅用于做实验切勿用于其它用途,否则后果自负。)

       接下来我们看一下waf上面的日志,可以看到waf已经检测到了,这里waf我还没有配置拦截模式。

      下面测试一下xss。

       这里看到存储型xss已经写入了。

     接下来我们看一下waf上面的日志:

     下面是Sql注入:

      下面我们把waf设置成拦截模式做一遍测试:

      这里看到sql语句没有执行成功,已经被waf拦截掉了。

      那文件上传呢?我们试一下,结果依旧是如此。

      至此,这次简单做的实验就到此结束了。本次实验环境主要是FreeVM虚拟化平台、DVWA搭建。其实waf的功能远不止这些,博主在这里只是做一个简单的演示,实际应用中用户的业务环境也不可能这么简单,真正模拟一次渗透测试的话前期的工作量也是很大的,不仅仅要找各种注入点,文件上传点,而且要绕过各种各样的安全设备…当然这些我就不细谈了。

      本次实验主要介绍了一下waf的功能以及实际中的应用,当然waf的工作不仅仅局限于这些,业余之际可以一起探索。

      另外,这篇文章所有的操作仅用于实验,切勿用于其它用途,所酿成的一切后果与作者无关。

这篇文章如果有什么错误或者不足之处欢迎大家留言探讨。

  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柳岸花又明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值