#!/usr/bin/env python ''' Copyright (C) 2020, WAFW00F Developers. See the LICENSE file for copying permission. ''' NAME = 'PerimeterX (PerimeterX)' def is_waf(self): # 定义用于检测是否存在特定 Web 应用防火墙(WAF)的方案列表。 schemes = [ # 检查响应内容中是否包含'www.perimeterx.(com|net)/whywasiblocked'。 self.matchContent(r'www\.perimeterx\.(com|net)/whywasiblocked'), # 检查响应内容中是否包含'client.perimeterx.(net|com)'。 self.matchContent(r'client\.perimeterx\.(net|com)'), # 检查响应内容中是否包含'denied because we believe you are using automation tools'。 self.matchContent(r'denied because we believe you are using automation tools') ] # 如果方案列表中的任何一个条件为真,则认为检测到了 WAF。 if any(i for i in schemes): return True else: return False