常见的WAF绕过、进程及识别工具

华盟原创文章投稿奖励计划

常见的WAF绕过、进程及识别工具

1、WAF简介

WAF对于一些常规漏洞(如注入漏洞、XSS漏洞、命令执行漏洞、文件包含漏洞)的检测大多是基于“正则表达式”和“AI+规则”的方法,因此会有一定的概率绕过其防御。绕过waf的测试中,有很多方法可以使用,以下常用方法:

1 大小写绕过

2 注释符绕过

3 编码绕过

4 分块传输绕过

5 使用空字节绕过

6 关键字替换绕过

7 http协议覆盖绕过

8 白名单ip绕过

9 真实ip绕过

10 Pipline绕过

11 参数污染

12 溢出waf绕过

可以把WAF分为四类:

云WAF

2 类硬件WAF

3 类软件WAF

4 类网站内置WAF类

1 云waf基于云端的检测,安装简单,修改DNS解析

2 或在服务器安装云WAF的模块即可。

3 硬件WAF串联在内网的交换机上,防护范围大。

4 软件WAF安装在服务器上根据网站流量决定占用的内存量。网站内置WAF在系统后台内置一项安全功能以便管理者使用。在这些类别内,硬件WAF防护能力较强。

软件型WAF

1 D盾:http://www.d99net.net/

2 云锁:https://yunsuo.qianxin.com/

3网防:

4 http://www.weishi110.cn/static/index.html

5 安全狗:https://www.safedog.cn/

护卫神:https://www.hws.com/

7 智创:https://www.zcnt.com/

悬镜:https://www.xmirror.cn/

9 UPUPW:https://www.upupw.net/

10 WTS-WAF:https://www.west.cn/

11 安骑士:

https://help.aliyun.com/product/28449.htmldotDefender:

http://www.applicure.com/Products/

硬件型WAF

1 绿盟:


3 https:

4 //www.nsfocus.com.cn/

5 安恒:

6 https://www.dbappsecurity.com.cn/

7 铱(yi)迅:https://www.yxlink.com/

8 天融信

9 深信服

启明星辰

知道创宇

F5 BIG-IP:https://www.f5.com/

基于云WAF

安全宝

2 创宇盾:

3 https://defense.yunaq.com/cyd/

4 玄武盾

5 腾讯云

6 百度云

7 西部数码

8 阿里云盾

9 奇安信网站卫士

开源型WAF

Naxsi:https://github.com/nbs-

2 system/naxsi

3 OpenRASP:https://github.com/baidu/openrasp

4 ModSecurity:

https://github.com/SpiderLabs/ModSecurity

https://github.com/SpiderLabs/owasp-

modsecurity-crs

WAF比较常见的监测机制特点有以下几种

2 (1)异常检测协议:拒绝不符合HTTP标准的请

3 求,也可以只允许符合HTTP协议的部分选项通

4 过,也有一些web应用防火墙还可以限定http协

5 议中那些过于松散或未被完全制定的选项。 

6(2)增强输入验证:增强输入验证,对恶意字

7 符进行拦截。

8  (3)及时补丁:及时屏蔽掉新型漏洞,避免攻

击者进行攻击,主要依靠WAF厂商对新型漏洞的及时响应速度 

(4)基于规则的保护和基于异常的保护:基于规则的保护可以提供各种web应用的安全规则,waf生产商会维护这个规则库,并及时为其更新。用户可以按照这些规则对应用进行全方面检测。还有的产品可以基于合法应用数据建立模型,并以此为依据判断应用数据的异常。但这需要对用户企业的应用具有十分透彻的了解才可能做到 

(5)状态管理;能够判断用户是否是第一次访问,将请求重定向到默认登录页面并且记录事件,或对暴力破解行为进行拦截。 

(6)其他防护技术:如隐藏表单域保护、抗入侵规避技术、响应监视和信息泄露保护。 

(7)配置规则:可以自定义防护的规则,如是否允许“境外ip”的访问

2、常见WAF进程和服务

(1) D盾

1 服务名:d_safe

2 进程名:D_Safe_Manage.exed_manage.exe

(2) 云锁

1 服务端监听端口:5555

2 服务名:YunSuoAgent/JtAgent(云

3 锁Windows平台代理服务)、

YunSuoDaemon/JtDaemon(云锁Windows平台守护服务)

进程名:yunsuo_agent_service.exeyunsuo_agent_daemon.exePC.exe

(3) 阿里云盾

1 服务

2 名:Alibaba Security Aegis Detect ServiceAlibaba Security Aegis Update Service

AliyunService进程名:AliYunDun.exeAliYunDunUpdate.exealiyun_assist_service.exe

(4) 腾讯云安全

进程名:BaradAgent.exesgagent.exeYDService.exeYDLive.exeYDEdr.exe

(5) 360主机卫士

1 服务名:QHWafUpdata
2 进程名:360WebSafe.exeQHSrv.exeQHWebshellGuard.exe

(6) 网站/服务器安全狗

1 服务名:
2 
3 SafeDogCloudHelper
4、
5、SafedogUpdateCenter
、afeDogGuardCenter(服务器安全狗守护中心)
进程名:SafeDogSiteApache.exeSafeDogSiteIIS.exeSafeDogTray.exeSafeDogServerUI.exe
.exeCloudHelper.exeSafeDogUpdateCenter.exe

(7) 护卫神·入侵防护系统

服务名:hws、hwsd、HwsHostEx/HwsHostWebEx(护卫神主机大师服务)
进程名:hws.exe、hwsd.exe、hws_ui.exe、HwsPanel.exe、HwsHostPanel.exe/HwsHostMaster.exe(护卫神主机大师)

(8) 网防G01政府网站综合防护系统(“云锁”升级版)

服务端监听端口:5555 服务名:YunSuoAgentYunSuoDaemon(不知是否忘了替换了!) 进程名:gov_defence_service.exegov_defence_daemon.exe

3、WAF识别

WAF绕过不仅要了解WAF检查的原理,还需要识别是什么类型的WAF,不同类型,不同品牌的waf监测机制不一样,绕过的方式也不同。

(1) wafw00f/WhatWaf

利用wafw00f识别WAF,可以在WAF指纹目录下自行编写脚本。这类WAF识别工具的原理基本都是根据HTTP头部信息、状态码以及WAF拦截页中的图片、文字做为特征来进行检测,如wafw00f工具中的yunsuo.py脚本就是根据cookie中的security_session_verify来检测的。

/usr/lib/python3/dist-
packages/wafw00f/plugins
#!/usr/bin/env python
NAME = "Yunsuo"
def is_waf(self): 
 
if self.matchcookie("^security_session_verify"):
 return True
 return False

(2) sqlmap -identify-waf

利用sqlmap -identify-waf参数识别WAF,一样可以在WAF指纹目录下根据原有脚本和Awesome-WAF项目自行编写WAF指纹识别脚本,但有时可能会因为sqlmap新老版本的原因而导致存放路径不一样。

更新前:/usr/share/sqlmap/waf

更新后:/usr/share/golismero/tools/sqlmap/waf

 #!/usr/bin/env python
 """
 pyright (c) 2006-
2013 sqlmap developers (http://sqlmap.org/)
 See the file "doc/COPYING" for 
copying permission
 """ 
import re
 from lib.core.enumsimport
 HTTP_HEADER
 from lib.core.settingsimport
 WAF_ATTACK_VECTORS
 __product__ ="ModSecurity: Open Source Web Application Firewall (Trustwave)"
 defdetect(get_page):
 retval =False
 for vectorin WAF_ATTACK_VECTORS:
 page, headers, code =
 get_page(get=vector)
  retval = code ==501and re.search(r"Reference #
[0-9A-Fa-f.]+", page, re.I)isNone 
 retval |= re.search(r"Mod_Security|NOYB", headers.get(HTTP_HEADER.SERVER,""), re.I)isnotNone
 if retval: 
break
 return retval

(3) 项目地址

https://github.com/sqlmapproject/sqlmap
https://github.com/EnableSecurity/wafw00f
https://github.com/Ekultek/WhatWaf
https://github.com/0xInfection/Awesome-
原文:https://blog.csdn.net/weixin_51387754/article/details/116535

如侵权请私聊删文

常见的WAF绕过、进程及识别工具

本文来源GuiltyFet,经授权后由华盟君发布,观点不代表华盟网的立场,转载请联系原作者。

发表回复