您当前的位置:首页 > 电脑百科 > 安全防护 > 软件工具

WAF是如何识别扫描器的?

时间:2019-12-02 09:59:56  来源:  作者:

目前安全测试的软件越来越多,也越来越强大,越来越多的人成为[黑客],今天在网上看到一个文章说拦截wvs的扫描,勾起了我写这篇文章的欲望。

WAF是如何识别扫描器的?

 

因为公司的三大业务之一就有一个云waf,每天拦截的日志里面,有将近90%的请求是扫描器发出,waf接收到请求会解析数据包,然后过一遍规则,过完成百上千条规则必定对性能有一定的影响。如果能识别出来是人还是扫描器的请求,就可以在这方面节省很大的资源。

下面的分析介绍只针对web安全扫描器。
目前全能型的扫描器主要是wvs(Acunetix Web Vulnerability Scanner)、AppScan、WebInspect,国内的像aisec、bugscan等等…还有国内那些老安全厂商的扫描器就不说了,主要提一 下像wvs这种使用率比较高的。另外还有目录文件型的扫描器、注入工具(类似sqlmap、Havij)等等。

扫描器识别主要从以下几点来做:
一、 扫描器指纹(head字段/请求参数值等)
二、 单IP+ cookie某时间段内触发规则次数
三、 隐藏的链接标签(<a>)
四、 Cookie植入
五、 验证码验证
六、 单IP请求时间段内Webserver返回http状态404比例


一、扫描器指纹(head字段/请求参数值等)

目前最常见的手法就是收集扫描器的指纹特征来做识别,不同的扫描器都有自己的一些特征,比如发出的请求会加一些特定的head 字段,测试漏洞的请求参数的值会带上自己扫描器的名称等。
下面通过抓网络数据包来看常见扫描器的指纹特征:

wvs(Acunetix Web Vulnerability Scanner):
下面是我抓到的一个wvs的请求

WAF是如何识别扫描器的?

 

1 2 3 4 5 6 7 8 9 10 11 12 13 GET /help/website-performance-settings/x HTTP/1.1 Pragma: no-cache Cache-Control: no-cache Referer: http://www.anquanbao.com/help Acunetix-Aspect: enabled Acunetix-Aspect-Password: 082119f75623eb7abd7bf357698ff66c Acunetix-Aspect-Queries: filelist;aspectalerts Cookie: xxxxxxxxxxxx Host: www.anquanbao.com Connection: Keep-alive Accept-Encoding: gzip,deflate User-Agent: Mozilla/5.0 (windows NT 6.1; WOW64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/28.0.1500.63 Safari/537.36 Accept: */*



请求头里面有三个很明显的标志:
Acunetix-Aspect: enabled
Acunetix-Aspect-Password: 082119f75623eb7abd7bf357698ff66c
Acunetix-Aspect-Queries: filelist;aspectalerts

另外在请求的参数值,比如URL跟POST数据中都有很明显的acunetix_wvs_security_test特征,下图是我从waf拦截中调取到的结果。

WAF是如何识别扫描器的?

 

根据以上抓取到的特征,我们可以把这个作为wvs的一个指纹,在waf中进行过滤。

Appscan:
同样的,appscan也有自己的一些特征,如下

WAF是如何识别扫描器的?

 

Bugscan:
关于Bugscan,主要特征是:
-->'"><H1>XSS@HERE</H1>,另外还有一些特征就不一一列举。

WAF是如何识别扫描器的?

 

注意:并不是所有的请求都会带有扫描器的特征,比如下面的一个包也是wvs发出的,但是没有带上面我们说的特征,扫描器指纹特征只能抵挡住一部分的扫描,但是我们可以利用这些信息识别出扫描器然后干掉IP等。

WAF是如何识别扫描器的?

 

二、单IP+ cookie某时间段内触发规则次数
根据某个IP+ cookie某时间段内触发waf拦截规则的次数大于设定的某个阀值,比如在20秒内,某个IP+cookie触发waf拦截规则10次。
数据证明如下图:

WAF是如何识别扫描器的?

 

另外还可以根据IP+user angent等,或者更多维度。

三、隐藏的链接标签等(<a>)
扫描器的爬虫会把页面里面的所有链接都抓出来去做漏洞探测,特别是现在基于webkit一类的扫描器,能够渲染css跟js,可以爬出更多的链接测试。
下面贴出一个百度百科关于webkit的介绍
WebKit 是一个开源的浏览器引擎,与之相对应的引擎有Gecko(Mozilla Firefox 等使用)和Trident(也称MSHTML,IE 使用)。同时WebKit 也是苹果mac OS X 系统引擎框架版本的名称,主要用于Safari,Dashboard,Mail 和其他一些Mac OS X 程序。WebKit 前身是 KDE 小组的 KHTML,WebKit 所包含的 WebCore 排版引擎和 JSCore 引擎来自于 KDE 的 KHTML 和 KJS,当年苹果比较了 Gecko 和 KHTML 后,仍然选择了后者,就因为它拥有清晰的源码结构、极快的渲染速度。Apple将 KHTML 发扬光大,推出了装备 KHTML 改进型 WebKit 引擎的浏览器 Safari。

隐藏的标签链接是指人看不见的链接,如<a href="http://www.cnseay.com/"></a> 形式,人是点击不到的,只有软件能够匹配出这个地址,我们新建一个网页,抓扫描器数据包测试。

<html> <head> <title>test</title> </head> <body> <a href="http://localhost/1.php?id=1"></a> </body> </html>

通过抓取wvs的数据包可以看到,扫描器很快的捕获了http://localhost/1.php?id=1这个链接,并进行漏洞测试。

WAF是如何识别扫描器的?

 

当然如果在正常情况下也给所有用户植入这种代码是非常令人反感的,用户体验也会大打折扣,可以在前期先做一些条件限制,比如固定时间段内触发waf拦截规则到达预定阀值,再给这个用户单独植入一个隐藏链接。

四、Cookie植入
Cookie植入的方式跟上面讲的隐藏链接植入大同小异,实现原理是:当一个IP+user angent在固定时间段内触发规则的次数到达一定阀值,给发起请求的这个人植入一个cookie,如果下次再请求没有携带这个cookie,则说明是扫描器。
cookie植入有利有弊,优点是更直接,种下cookie马上就能根据下一个请求判断。缺点是这个方式在基于webkit的扫描器上面行不通。

五、验证码验证
验证码验证的方式跟上面的cookie植入也大同小异,不过是把cookie换成了验证码的方式,这种方法也被用于防CC攻击。

六、单IP请求时间段内Webserver返回http状态404比例
这种方法主要用来应对探测敏感目录和文件的扫描器,这类的扫描器都是基于字典文件,通过对字典内的url进行请求获得的返回信息来进行判断目录或者文件的是否存在。
如果某个IP在一段时间内请求频率过快,这时候waf可以进行收集一段时间内webserver返回404状态数目,到达一定阀值后进行封杀。

WAF是如何识别扫描器的?

 

看过上面几种方法的介绍,应该大部分人都会想到两个问题,
1. 一大拨人使用同一个公网IP,怎么判断谁是攻击者?
2. 一大拨人使用同一个公网IP,怎么才能保证不误杀?

第一,对于怎么判断攻击者,当然不能单纯的从一个IP判断,一般一个完整的http请求都会带有
user angent、cookie等信息,我们可以结合ip+user angent来判断请求的人,或者再加一个cookie的维度,当然在给这个攻击者植隐藏链接、cookie或者验证码之前,需要它触发一些规则阀值,以免影响用户体验。
第二,说到怎么保证不误杀,也就是怎么去封杀的问题,关键在于怎么二次判断攻击者,目前最好的方法也是利用ip+user angent,在判断是扫描器请求后,根据IP+user angent进行封杀,另外也是靠cookie封杀,关键在于是携带某个cookie键的封杀掉还是不带的封杀掉。



Tags:WAF   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
log4j漏洞的形成原因已经有很多分析文章了,这里说一说我是如何在了解到有漏洞后,跟进漏洞产生原理的,以及发现的一些绕WAF tips跟进漏洞产生原因的思路如何发现漏洞产生的原因...【详细内容】
2021-12-22  Tags: WAF  点击:(8)  评论:(0)  加入收藏
本人也是小白一枚,大佬请绕过,这个其实是六月份的时候做的,那时候想多点实战经验,就直接用谷歌搜索找了一些网站,这个是其中一个1、目标网站 2、发现有WAF防护 3、判断存在注入...【详细内容】
2021-10-19  Tags: WAF  点击:(52)  评论:(0)  加入收藏
waf拦截在打某市 Hvv 第一天就找到一个文件上传的点,经过测试,可以直接任意文件上传,没有什么道理。 直接尝试上传 Php 文件,被 waf 拦截了 2021最新整理网络安全/渗透测试/安...【详细内容】
2021-10-11  Tags: WAF  点击:(56)  评论:(0)  加入收藏
WAF市场的发展缘于客户需要保护内外的Web应用程序。WAF保护Web应用程序和API免受各种攻击,包括自动机器人程序、注入攻击和应用层拒绝服务(DoS)攻击。它们应提供基于特征(signat...【详细内容】
2021-01-08  Tags: WAF  点击:(960)  评论:(0)  加入收藏
有网站的朋友们肯定了解web应用防火墙,这是目前主要防护网站安全的产品,web应用防火墙一般有三种形态,硬件、软件、云形态,一般软件和云形态用的最多,因为硬件WAF普遍价格在几十...【详细内容】
2020-09-11  Tags: WAF  点击:(125)  评论:(0)  加入收藏
本文提出了一种绕过XSS安全机制的新型方法,这种技术由三个阶段组成:确定Payload结构、探测和混淆处理。首先,我们需要针对给定的上下文环境,确定各种不同的Payload结构以达到...【详细内容】
2020-07-07  Tags: WAF  点击:(99)  评论:(0)  加入收藏
众所周知,网站安全防护,对于企业非常重要。2020年HTTPS加密已经普及,传统的防火墙检测功能失效,所以对于网站来说,部署一个WEB应用防火墙十分重要,这方面商业产品很多,开源的也不少...【详细内容】
2020-05-28  Tags: WAF  点击:(118)  评论:(0)  加入收藏
ShareWAF做为WAF,可以不只是WAF,还可以充当负载或路由的角色。比如可以有这样一种部署架构: 在此结构中,ShareWAF部署于一台服务器,后面接多台独立的WEB服务器。 ShareWAF即做为W...【详细内容】
2020-04-09  Tags: WAF  点击:(66)  评论:(0)  加入收藏
VeryNginx 是一个基于openrestry(其实是基于nginx的lua扩展)的开发程序,实现了高级的防火墙,可以做访问统计和其他的一些防护功能。 VeryNginx 扩展了 Nginx 本身的功能,并提供了...【详细内容】
2020-03-01  Tags: WAF  点击:(96)  评论:(0)  加入收藏
Web 应用程序防火墙(WAF)现在已经成为许多商业 Web 网站与系统的基本保护措施,它的确在防范许多针对 Web 系统的安全攻击方面卓有成效,但是 WAF 在面对攻击方式多种多样的 SQL...【详细内容】
2020-02-17  Tags: WAF  点击:(143)  评论:(0)  加入收藏
▌简易百科推荐
已经观察到一种新的基于JavaScript的远程访问木马(RAT)利用社会工程学传播,采用隐蔽的"无文件"技术作为其逃避检测和分析的方法。该恶意软件由Prevalyion的对抗性反情报团队(PA...【详细内容】
2021-12-17  网安老葫    Tags:恶意软件   点击:(13)  评论:(0)  加入收藏
关于windows Defender防病毒的问题升级win10后,我们会经常遇到打开或下载文件时弹出提示框提示你下载的文件是病毒之类,直接给你删除。你好不容易找了个激活工具,你刚打开发现...【详细内容】
2021-11-08  IT小哥吧    Tags:defender   点击:(47)  评论:(0)  加入收藏
喽!大家好,我是小易,欢迎来到我的知识分享站!今天给大家分享5个杀毒神器,让你的电脑干干净净,建议收藏起来哟! 1、Windows Defender随着Win10系统的更新已经日趋完善,它可以很好的解...【详细内容】
2021-11-08  知识与技能    Tags:流氓软件   点击:(74)  评论:(0)  加入收藏
介绍其实Iptables服务不是真正的防火墙,只是用来定义防火墙规则功能的"防火墙管理工具",将定义好的规则交由内核中的netfilter即网络过滤器来读取,从而真正实现防火墙功能。fil...【详细内容】
2021-10-18  互联网IT技术全栈    Tags:   点击:(52)  评论:(0)  加入收藏
什么是Nessus?Nessus 是目前全世界最多人使用的系统漏洞扫描与分析软件。总共有超过75,000个机构使用Nessus 作为扫描该机构电脑系统的软件步骤如下:查看当前kali系统内核版本...【详细内容】
2021-09-09  TestGO    Tags:Nessus   点击:(112)  评论:(0)  加入收藏
http 头部信息http头部信息经常包含着主机服务的一些版本信息,经常使用的字段信息有:Server, X-Powered-By, X-AspNet-Version工具可采用curl进行curl --location --head $URL...【详细内容】
2021-08-19  80后IT老民工    Tags:渗透   点击:(227)  评论:(0)  加入收藏
一、杀软常见的三种方式二、免杀的三种常用方式三、利用工具实现免杀1、veil工具基础实现免杀+进阶2、venom免杀3、利用kali自带的shellter进行免杀4、利用avet实现免杀四、...【详细内容】
2021-08-18  白帽hacker淬炼    Tags:免杀   点击:(82)  评论:(0)  加入收藏
关于工具现有工具现在,现成的污点分析工具已经有很多了。其中,我最感兴趣的是Triton和bincat,因为两者已经相当成熟。然而,我们却无法使用这两种工具,因为它们不支持目标设备所...【详细内容】
2021-08-12  Hbo涵    Tags:安全漏洞   点击:(94)  评论:(0)  加入收藏
从实现原理上分,防火墙的技术包括四大类:网络级防火墙、应用级网关、电路级网关和规则检查防火墙。1、网络级防火墙一般是基于源地址和目的地址、应用、协议以及每个IP包的端...【详细内容】
2021-07-20  趣谈文化  搜狐号  Tags:防火墙   点击:(225)  评论:(0)  加入收藏
一、VMware部分1、Vmware简介虚拟机就是一个用来模拟真实的物理机环境的一个软件,可以在虚拟机中安装不同版本的操作系统。就是一个把下载好的ISO安装在物理机操作系统的一个...【详细内容】
2021-07-12  Kali与编程  公众号  Tags:Kali Linux   点击:(113)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条