mirror of
				https://github.com/TeaOSLab/EdgeCommon.git
				synced 2025-11-04 13:10:24 +08:00 
			
		
		
		
	WAF增加“包含SQL注入”操作符
This commit is contained in:
		@@ -4,36 +4,38 @@ type HTTPFirewallRuleOperator = string
 | 
				
			|||||||
type HTTPFirewallRuleCaseInsensitive = string
 | 
					type HTTPFirewallRuleCaseInsensitive = string
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const (
 | 
					const (
 | 
				
			||||||
	HTTPFirewallRuleOperatorGt                 HTTPFirewallRuleOperator = "gt"
 | 
						HTTPFirewallRuleOperatorGt                   HTTPFirewallRuleOperator = "gt"
 | 
				
			||||||
	HTTPFirewallRuleOperatorGte                HTTPFirewallRuleOperator = "gte"
 | 
						HTTPFirewallRuleOperatorGte                  HTTPFirewallRuleOperator = "gte"
 | 
				
			||||||
	HTTPFirewallRuleOperatorLt                 HTTPFirewallRuleOperator = "lt"
 | 
						HTTPFirewallRuleOperatorLt                   HTTPFirewallRuleOperator = "lt"
 | 
				
			||||||
	HTTPFirewallRuleOperatorLte                HTTPFirewallRuleOperator = "lte"
 | 
						HTTPFirewallRuleOperatorLte                  HTTPFirewallRuleOperator = "lte"
 | 
				
			||||||
	HTTPFirewallRuleOperatorEq                 HTTPFirewallRuleOperator = "eq"
 | 
						HTTPFirewallRuleOperatorEq                   HTTPFirewallRuleOperator = "eq"
 | 
				
			||||||
	HTTPFirewallRuleOperatorNeq                HTTPFirewallRuleOperator = "neq"
 | 
						HTTPFirewallRuleOperatorNeq                  HTTPFirewallRuleOperator = "neq"
 | 
				
			||||||
	HTTPFirewallRuleOperatorEqString           HTTPFirewallRuleOperator = "eq string"
 | 
						HTTPFirewallRuleOperatorEqString             HTTPFirewallRuleOperator = "eq string"
 | 
				
			||||||
	HTTPFirewallRuleOperatorNeqString          HTTPFirewallRuleOperator = "neq string"
 | 
						HTTPFirewallRuleOperatorNeqString            HTTPFirewallRuleOperator = "neq string"
 | 
				
			||||||
	HTTPFirewallRuleOperatorMatch              HTTPFirewallRuleOperator = "match"
 | 
						HTTPFirewallRuleOperatorMatch                HTTPFirewallRuleOperator = "match"
 | 
				
			||||||
	HTTPFirewallRuleOperatorNotMatch           HTTPFirewallRuleOperator = "not match"
 | 
						HTTPFirewallRuleOperatorNotMatch             HTTPFirewallRuleOperator = "not match"
 | 
				
			||||||
	HTTPFirewallRuleOperatorWildcardMatch      HTTPFirewallRuleOperator = "wildcard match"
 | 
						HTTPFirewallRuleOperatorWildcardMatch        HTTPFirewallRuleOperator = "wildcard match"
 | 
				
			||||||
	HTTPFirewallRuleOperatorWildcardNotMatch   HTTPFirewallRuleOperator = "wildcard not match"
 | 
						HTTPFirewallRuleOperatorWildcardNotMatch     HTTPFirewallRuleOperator = "wildcard not match"
 | 
				
			||||||
	HTTPFirewallRuleOperatorContains           HTTPFirewallRuleOperator = "contains"
 | 
						HTTPFirewallRuleOperatorContains             HTTPFirewallRuleOperator = "contains"
 | 
				
			||||||
	HTTPFirewallRuleOperatorNotContains        HTTPFirewallRuleOperator = "not contains"
 | 
						HTTPFirewallRuleOperatorNotContains          HTTPFirewallRuleOperator = "not contains"
 | 
				
			||||||
	HTTPFirewallRuleOperatorContainsAnyWord    HTTPFirewallRuleOperator = "contains any word"
 | 
						HTTPFirewallRuleOperatorContainsAnyWord      HTTPFirewallRuleOperator = "contains any word"
 | 
				
			||||||
	HTTPFirewallRuleOperatorContainsAllWords   HTTPFirewallRuleOperator = "contains all words"
 | 
						HTTPFirewallRuleOperatorContainsAllWords     HTTPFirewallRuleOperator = "contains all words"
 | 
				
			||||||
	HTTPFirewallRuleOperatorNotContainsAnyWord HTTPFirewallRuleOperator = "not contains any word"
 | 
						HTTPFirewallRuleOperatorNotContainsAnyWord   HTTPFirewallRuleOperator = "not contains any word"
 | 
				
			||||||
	HTTPFirewallRuleOperatorPrefix             HTTPFirewallRuleOperator = "prefix"
 | 
						HTTPFirewallRuleOperatorPrefix               HTTPFirewallRuleOperator = "prefix"
 | 
				
			||||||
	HTTPFirewallRuleOperatorSuffix             HTTPFirewallRuleOperator = "suffix"
 | 
						HTTPFirewallRuleOperatorSuffix               HTTPFirewallRuleOperator = "suffix"
 | 
				
			||||||
	HTTPFirewallRuleOperatorContainsAny        HTTPFirewallRuleOperator = "contains any"
 | 
						HTTPFirewallRuleOperatorContainsAny          HTTPFirewallRuleOperator = "contains any"
 | 
				
			||||||
	HTTPFirewallRuleOperatorContainsAll        HTTPFirewallRuleOperator = "contains all"
 | 
						HTTPFirewallRuleOperatorContainsAll          HTTPFirewallRuleOperator = "contains all"
 | 
				
			||||||
	HTTPFirewallRuleOperatorHasKey             HTTPFirewallRuleOperator = "has key" // has key in slice or map
 | 
						HTTPFirewallRuleOperatorContainsSQLInjection HTTPFirewallRuleOperator = "contains sql injection"
 | 
				
			||||||
	HTTPFirewallRuleOperatorVersionGt          HTTPFirewallRuleOperator = "version gt"
 | 
						HTTPFirewallRuleOperatorHasKey               HTTPFirewallRuleOperator = "has key" // has key in slice or map
 | 
				
			||||||
	HTTPFirewallRuleOperatorVersionLt          HTTPFirewallRuleOperator = "version lt"
 | 
						HTTPFirewallRuleOperatorVersionGt            HTTPFirewallRuleOperator = "version gt"
 | 
				
			||||||
	HTTPFirewallRuleOperatorVersionRange       HTTPFirewallRuleOperator = "version range"
 | 
						HTTPFirewallRuleOperatorVersionLt            HTTPFirewallRuleOperator = "version lt"
 | 
				
			||||||
 | 
						HTTPFirewallRuleOperatorVersionRange         HTTPFirewallRuleOperator = "version range"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	HTTPFirewallRuleOperatorContainsBinary    HTTPFirewallRuleOperator = "contains binary"     // contains binary
 | 
						HTTPFirewallRuleOperatorContainsBinary    HTTPFirewallRuleOperator = "contains binary"     // contains binary
 | 
				
			||||||
	HTTPFirewallRuleOperatorNotContainsBinary HTTPFirewallRuleOperator = "not contains binary" // not contains binary
 | 
						HTTPFirewallRuleOperatorNotContainsBinary HTTPFirewallRuleOperator = "not contains binary" // not contains binary
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// ip
 | 
						// ip
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	HTTPFirewallRuleOperatorEqIP       HTTPFirewallRuleOperator = "eq ip"
 | 
						HTTPFirewallRuleOperatorEqIP       HTTPFirewallRuleOperator = "eq ip"
 | 
				
			||||||
	HTTPFirewallRuleOperatorInIPList   HTTPFirewallRuleOperator = "in ip list"
 | 
						HTTPFirewallRuleOperatorInIPList   HTTPFirewallRuleOperator = "in ip list"
 | 
				
			||||||
	HTTPFirewallRuleOperatorGtIP       HTTPFirewallRuleOperator = "gt ip"
 | 
						HTTPFirewallRuleOperatorGtIP       HTTPFirewallRuleOperator = "gt ip"
 | 
				
			||||||
@@ -165,6 +167,13 @@ var AllRuleOperators = []*RuleOperatorDefinition{
 | 
				
			|||||||
		CaseInsensitive: HTTPFirewallRuleCaseInsensitiveNo,
 | 
							CaseInsensitive: HTTPFirewallRuleCaseInsensitiveNo,
 | 
				
			||||||
		DataType:        "strings",
 | 
							DataType:        "strings",
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							Name:            "包含SQL注入",
 | 
				
			||||||
 | 
							Code:            HTTPFirewallRuleOperatorContainsSQLInjection,
 | 
				
			||||||
 | 
							Description:     "检测字符串内容是否包含SQL注入",
 | 
				
			||||||
 | 
							CaseInsensitive: HTTPFirewallRuleCaseInsensitiveNone,
 | 
				
			||||||
 | 
							DataType:        "none",
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		Name:            "包含二进制数据",
 | 
							Name:            "包含二进制数据",
 | 
				
			||||||
		Code:            HTTPFirewallRuleOperatorContainsBinary,
 | 
							Code:            HTTPFirewallRuleOperatorContainsBinary,
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user