2023-08-24 14:27:54
答案:
当使用雷池社区版WAF的测试工具blazehttp时,如果遇到报错“目标网站未开启waf”,这通常意味着blazehttp在对比正常请求和攻击请求的状态码时,发现两者一致,从而做出了这样的判断。以下是对该问题的详细分析和排查方法:
一、原因分析
blazehttp的工作原理是通过发送两次请求到目标站点:一次是正常请求,另一次是包含攻击载荷的请求。它会比较这两次请求返回的状态码。如果状态码相同,blazehttp就会认为目标站点没有开启WAF,因为理论上WAF应该在检测到攻击请求时改变状态码(如返回403禁止访问等)。
二、排查步骤
检查WAF配置
请求命中了黑/白名单:检查WAF的黑名单和白名单配置,确保测试请求没有被这些规则所影响。如果测试IP或请求特征被列入了白名单,WAF可能不会对其进行拦截,从而导致状态码一致。
请求IP被高频限制:如果WAF配置了针对IP的带姿档高频请求限制,测试请求可能因为达到限制条件而被视为正常请求,同样会导致状态码一致。
检查防护模块状态
涉及的防护模块设置为了仅观察或者禁用:WAF可能包含多个防护模块,如SQL注入防护、XSS防护等。如果这些模块被设置为仅观察或禁用状态,它们就不会对攻击请求进行拦截,从而导致状态码不变。
检查站点防护模式
站点不是防护模式:确保WAF已经开启并处于防护模式。如果WAF被配置为学习模式或测试模式,它可能不会实际拦截攻击请求。
其他可能的原因
请求特征未被WAF识别为攻击:有时候,WAF可能因为配置不当或规则库更新不及时,无法正确识别某些攻击请求的册宴特征。这也会导致WAF不对这些请求进行拦截。
三、示例图片说明

这张图片展示了WAF配置界面的一部分,你可以在这里检查黑白名单、IP限制等配置。

这张图片展示了WAF防护模块的状态,你可以在这里查看各个模块是否处于启用状态。
四、总结
当遇到blazehttp报错“目标网站未开启waf”时,你需要从WAF的配置、防护模块状态以及站点防护模式等多个方面进行排查。确保WAF能够正确识别并拦截攻击请求,从而改变状态码,使blazehttp能够正确判断WAF的开启状态。如果排查后仍然无法解决问题,建议联系WAF的提供商或技术支持团队进行进一蠢乱步的咨询和帮助。