研究 WAF 系统从这个开源项目开始

安全工具 2019-11-10

项目地址:https://github.com/0xInfection/Awesome-WAF

今天来为大家推荐一个新的开源项目,这个项目收集整理了非常全面的 WAF 相关技术,其中包括 WAF 的简介、如何识别 WAF、常见 WAF 的指纹识别方法、绕 WAF 的测试技术、已知 WAF 的绕过方式、如何用工具绕 WAF 以及一些参考链接等。

简介

通常 WAF 的检测规则是通过编写规则判断请求是否是恶意的,还有的会通过学习用户的行为自动添加规则。

对于 WAF 的设计模式有三种,分别是黑名单模式、白名单模式以及混合模式(既有白名单又有黑名单)。

识别 WAF 的方法

如何发现存在 WAF 系统

1、WAF 的常用端口于常见的 WEB 应用端口是一致的,比如: 80, 443, 8000, 8008, 8080, 8088等。

2、一些 WAF 会把自己的特征设置到请求到 cookie 中,如:Citrix Netscaler, Yunsuo WAF

3、一些 WAF 会把自己的特征设置到 header 中,如:Anquanbao WAF, Amazon AWS WAF

4、一些 WAF 会经常改变 header 和掺杂一些字符来混淆攻击者,如 Citrix Netscaler, F5 Big IP

5、会有少量的 WAF 会在 header 中的 server 字段中暴露自己,如:Approach, WTS WAF

6、有一些 WAF 会在返回的内容中增加自己的标识,如: DotDefender, Armor, Sitelock

7、其他的一些 WAF 会识别恶意请求而返回异常响应代码,如: WebKnight, 360 WAF

如何识别 WAF

1、用浏览器正常访问页面,记录访问的 header,重点关注 cookie 的值

2、尝试用命令行工具(如 curl)访问页面,查看响应的内容和 header,可以不包含 user-agent

3、如果是登录页面,可以使用像 ' or 1 = 1 — 这样的 payload

4、如果是一些输入框,可以使用像 alert()这样的 payload

5、使用旧的 http 协议,像 HTTP/0.9 (HTTP/0.9 不支持 POST 类型的请求)

6、很多时候,WAF 系统会根据不同类型的请求更换 header 中 server 字段的值

7、给服务器发送一个 FIN/RST 的数据包,查看响应包,可以使用 hping3 或 scapy 这样的工具

8、侧面判断,检查请求和响应的时间,存在 WAF 的话,通常响应时间会相对较慢

WAF 指纹统计

这里的指纹包含了 83 款不同的 WAF 产品,其中包含:360 FirewallaeSecureAirlock (Phion/Ergon)Anquanbao WAFArmor DefenseApplication Security Manager (F5 Networks)Approach FirewallAmazon AWS WAFBaidu YunjiasuBarracuda WAFBekchy (Faydata)BitNinja FirewallBluedon ISTBIG-IP ASM (F5 Networks)BinarySec WAFBlockDosChinaCache FirewallACE XML Gateway (Cisco)CloudbricCloudflareCloudfront (Amazon)Comodo FirewallCrawlProtect (Jean-Denis Brun)GoDaddy FirewallIBM WebSphere DataPowerDeny-All FirewallDistil FirewallDoSArrest Internet SecuritydotDefenderEdgeCast (Verizon)Expression Engine (EllisLab)FortiWeb FirewallGreyWizard FirewallHyperGuard FirewallImperva SecureSphereImmunify360 (CloudLinux Inc.)ISAServerJanusec Application GatewayJiasule FirewallKnownSec FirewallKONA Site Defender (Akamai)Malcare (Inactiv)ModSecurity (Trustwave)NAXSI (NBS Systems)Netcontinuum (Barracuda)NinjaFirewall (NinTechNet)NetScaler (Citrix)NewDefend FirewallNSFocus FirewallonMessage Shield (Blackbaud)Palo Alto FirewallPerimeterX FirewallProfense FirewallRadware AppwallReblaze FirewallRequest Validation Mode (ASP.NET)RSFirewall (RSJoomla)Safe3 FirewallSafeDog FirewallSecureIIS (BeyondTrust)SEnginx (Neusoft)ShieldSecuritySiteGround FirewallSiteGuard (JP Secure)SiteLock TrueShieldSonicWall (Dell)Sophos UTM FirewallSquareSpace FirewallStackPath (StackPath LLC)Stingray (RiverBed/Brocade)Sucuri CloudProxyTencent Cloud WAFTrafficShield (F5 Networks)URLMaster SecurityCheck (iFinity/DotNetNuke)URLScan (Microsoft)USP Secure EntryVarnish (OWASP)VirusDie FirewallWallArm (Nginx)WatchGuard FirewallWebKnight (Aqtronix)WP Cerber FirewallYundun FirewallYunsuo Firewall 等。

总结

这个项目整理的内容目前来说还是很多的,我就不多说了,剩下的内容请查看该项目,有任何问题请直接联系作者,我这里主要是推荐一下该项目,从内容上看,作者是下了不小的功夫的,值得一观。


本文由 信安之路 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

楼主残忍的关闭了评论