mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-08-14 13:56:01 +03:00
Make block action execution dependent of the SecEngine status
This commit is contained in:
parent
1cc22966db
commit
50abc072c4
@ -549,7 +549,7 @@ inline void Rule::getFinalVars(variables::Variables *vars,
|
|||||||
void Rule::executeAction(Transaction *trans,
|
void Rule::executeAction(Transaction *trans,
|
||||||
bool containsBlock, std::shared_ptr<RuleMessage> ruleMessage,
|
bool containsBlock, std::shared_ptr<RuleMessage> ruleMessage,
|
||||||
Action *a, bool defaultContext) {
|
Action *a, bool defaultContext) {
|
||||||
if (a->isDisruptive() == false) {
|
if (a->isDisruptive() == false && a->m_name != "block") {
|
||||||
ms_dbg_a(trans, 9, "Running " \
|
ms_dbg_a(trans, 9, "Running " \
|
||||||
"action: " + a->m_name);
|
"action: " + a->m_name);
|
||||||
a->evaluate(this, trans, ruleMessage);
|
a->evaluate(this, trans, ruleMessage);
|
||||||
@ -569,7 +569,7 @@ void Rule::executeAction(Transaction *trans,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ms_dbg_a(trans, 4, "Not running disruptive action: " \
|
ms_dbg_a(trans, 4, "Not running any disruptive action (or block): " \
|
||||||
+ a->m_name + ". SecRuleEngine is not On.");
|
+ a->m_name + ". SecRuleEngine is not On.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
41
test/test-cases/regression/issue-1960.json
Normal file
41
test/test-cases/regression/issue-1960.json
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"enabled":1,
|
||||||
|
"version_min":300000,
|
||||||
|
"title":"SecRuleEngine DetectionOnly with disruptive SecDefaultAction",
|
||||||
|
"client":{
|
||||||
|
"ip":"200.249.12.31",
|
||||||
|
"port":123
|
||||||
|
},
|
||||||
|
"server":{
|
||||||
|
"ip":"200.249.12.31",
|
||||||
|
"port":80
|
||||||
|
},
|
||||||
|
"request":{
|
||||||
|
"headers":{
|
||||||
|
"Host": "localhost"
|
||||||
|
},
|
||||||
|
"uri":"?a=a",
|
||||||
|
"method":"GET"
|
||||||
|
},
|
||||||
|
"response":{
|
||||||
|
"headers":{
|
||||||
|
"Date":"Mon, 13 Jul 2015 20:02:41 GMT",
|
||||||
|
"Last-Modified":"Sun, 26 Oct 2014 22:33:37 GMT",
|
||||||
|
"Content-Type":"text/html"
|
||||||
|
},
|
||||||
|
"body":[
|
||||||
|
"no need."
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"expected":{
|
||||||
|
"http_code":200,
|
||||||
|
"debug_log": "aoeuaoeu"
|
||||||
|
},
|
||||||
|
"rules":[
|
||||||
|
"SecRuleEngine DetectionOnly",
|
||||||
|
"SecDefaultAction \"phase:1,deny,status:403\"",
|
||||||
|
"SecRule ARGS \"@rx a\" \"id:1,phase:1,block"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
@ -73,6 +73,7 @@
|
|||||||
"http_code": 418
|
"http_code": 418
|
||||||
},
|
},
|
||||||
"rules": [
|
"rules": [
|
||||||
|
"SecRuleEngine On",
|
||||||
"SecDefaultAction \"phase:1,log,deny,status:418,tag:'Host: %{request_headers.host}'\"",
|
"SecDefaultAction \"phase:1,log,deny,status:418,tag:'Host: %{request_headers.host}'\"",
|
||||||
"SecDefaultAction \"phase:2,log,deny,status:418,tag:'Host: %{request_headers.host}'\"",
|
"SecDefaultAction \"phase:2,log,deny,status:418,tag:'Host: %{request_headers.host}'\"",
|
||||||
"SecAction \"id:'900012',phase:request,nolog,pass,t:none,setvar:'tx.allowed_methods=GET HEAD POST OPTIONS'\"",
|
"SecAction \"id:'900012',phase:request,nolog,pass,t:none,setvar:'tx.allowed_methods=GET HEAD POST OPTIONS'\"",
|
||||||
@ -113,6 +114,7 @@
|
|||||||
"http_code": 418
|
"http_code": 418
|
||||||
},
|
},
|
||||||
"rules": [
|
"rules": [
|
||||||
|
"SecRuleEngine On",
|
||||||
"SecDefaultAction \"phase:1,log,deny,status:418,tag:'Host: %{request_headers.host}'\"",
|
"SecDefaultAction \"phase:1,log,deny,status:418,tag:'Host: %{request_headers.host}'\"",
|
||||||
"SecDefaultAction \"phase:2,log,deny,status:418,tag:'Host: %{request_headers.host}'\"",
|
"SecDefaultAction \"phase:2,log,deny,status:418,tag:'Host: %{request_headers.host}'\"",
|
||||||
"SecAction \"id:'900012',phase:request,nolog,pass,t:none,setvar:'tx.allowed_methods=HEAD POST OPTIONS'\"",
|
"SecAction \"id:'900012',phase:request,nolog,pass,t:none,setvar:'tx.allowed_methods=HEAD POST OPTIONS'\"",
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
"version_min":300000,
|
"version_min":300000,
|
||||||
"title":"Testing Disruptive actions (3/n)",
|
"title":"Testing Disruptive actions (3/n)",
|
||||||
"expected":{
|
"expected":{
|
||||||
"http_code":404
|
"http_code":200
|
||||||
},
|
},
|
||||||
"rules":[
|
"rules":[
|
||||||
"SecRuleEngine On",
|
"SecRuleEngine On",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user