WAF的检测机制以及拦截防护规则

outputo-20210607-151654-434-wwtn.png

        许多WAF设备会先检测请求源,以降低工作压力。检测来源于 外部的请求;假如请求来源于可靠地址,则立即释放出来该请求。由于WAF主要用以监测网络层,因此 它的地址将从HTTP协议头解析。WAF能够将HTTP头中的这种字段名做为白名单。

x转发-目标。

攻击的人把这个字段名值改成cdn加速。

X-Remote-IP。

该字段名的值被#攻击者更改成代理服务器或一样网段的IP。

X-Environment-IP#攻击者将这个字段名值更改为网站服务器的IP,或是更改为127.0.01。

x远程地址。

闯入者会把这个字段名值改成内部IP地址。

WAF能够利用更改请求中的这种地址将请求认成可靠地址而舍弃检测请求。举例来说,在图6-8中,我们加上了X-起始-IP地址127.0.0.1。当前,有人研发了BurpSuf插件bypasswaf,该插件已在GitHub上下载。

指令注入是一个很普遍的漏洞,因而基本上全部的WAF都能防止这种攻击。但攻击者并不是简略地输入攻击命令,反而是以多种方法绕开WAF。这就是Linux服务器系统的1个事例。许多Linux发行版本都将Bash做为默认外壳。在Bash操作环境中,使用通配符也是有一项非常有效的功能。Bash的使用为用户带来了巨大的便捷,与此同时也变成了攻击者攻击的途径之一。举例来说,我们可以使用如图6-10所示的命令对目标Web服务器执行命令ls。利用这个语法,攻击者能够完成全部必要的操作。

可是这一次是由WAF保护的,全部包含“/bin/ls”的GET请求参数或POST请求体都将被拦截。WAF发现了攻击者发送的"/bin/ls"请求,随后能够禁止攻击者的IP。但闯入者不太可能那么很容易就把它赶跑。他们如今有着1种强大的武器——使用通配符,假如WAF不禁止的话。针对"1",攻击者能够使用这个命令来远程执行命令"/ls",它还会展现/var/目录在目标网站服务器上的内容,可是还会提示信息/bin/ps和/sys/ps。这一难题是因为"/bin/ls"可被解释为"/bin/Is"、"/bin/ps"或"/sys/fs"。下边我们再了解一下包含漏洞的文件。

分享: