前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >研究 WAF 系统从这个开源项目开始

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

作者头像
信安之路
发布2019-03-11 16:21:32
2.3K0
发布2019-03-11 16:21:32
举报
文章被收录于专栏:信安之路信安之路

项目地址: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、如果是一些输入框,可以使用像 <script>alert()</script>这样的 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 等。

总结

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-02-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 信安之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 识别 WAF 的方法
    • 如何发现存在 WAF 系统
      • 如何识别 WAF
      • WAF 指纹统计
      • 总结
      相关产品与服务
      命令行工具
      腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档