0xx1 WAF
- 介绍
WAF(web应用防火墙),通过执行一系列针对HTTP/HTTPS的安全策略来专门为web应用提供保护的产品
- 分类
- 软件型
以软件的形式在所保护的服务器上的WAF,可以接触到服务器上的文件,直接检测服务器上是否存在webshell,是否有文件被创建等
-
- 硬件型
以硬件形式部署在链路中,支持多种部署方式,串联到链路中时可以拦截恶意流量,在旁路监听时只记录攻击,不进行拦截
-
- 云WAF
一般以反向代理的形式工作,通过配置NS记录或CNAME记录,使对网站的请求报文优先经过WAF主机,经过WAF主机过滤后,将认为无害的请求报文发给实际网站服务器进行请求,可以说是带防护功能的CDN
-
- 网站内置的WAF
也可以说是网站系统中内置的过滤,直接镶嵌在代码中,相对来说,自由度高,一般有一下几种情况
-
-
- 输入参数强制类型转换
- 输入参数合法性检测
- 关键函数执行前(SQL,页面显示等)对经过代码流程的输入进行检测
- 对输入的数据进行替换过滤后再继续执行代码流程
-
- 判断
- SQLMap
SQLMap自带WAF识别模块,可以识别WAF种类(如果WAF无特征,只能识别出Generic类型)
sqlmap –u http://127.0.0.1 –identify-waf –batch
-
- 手工判断
在网站的URL后加上最基础的测试语句如union select 1,2,3%23,并且放在一个不存在的参数名中
如:127.0.0.1/1.php?aaa= union select 1,2,3%23
- 绕过
- 大小写混写
- URL编码
- 替换关键词
- 使用注释
- 多参数请求拆分
- HTTP参数污染
- 生僻函数
- 寻找网站源站IP
- 注入参数到cookies中