[ { "enabled":1, "version_min":300000, "title":"Testing Variables :: MATCHED_VAR_NAME (1/7)", "client":{ "ip":"200.249.12.31", "port":123 }, "server":{ "ip":"200.249.12.31", "port":80 }, "request":{ "headers":{ "Host":"localhost", "User-Agent":"curl/7.38.0", "Accept":"*/*" }, "uri":"/?keyI=value&keyII=other_value", "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":{ "debug_log":"Target value: \"ARGS:keyII\" \\(Variable: MATCHED_VAR_NAME\\)" }, "rules":[ "SecRuleEngine On", "SecRule ARGS:keyI \"@contains value\" \"chain,id:28,pass\"", "SecRule ARGS:keyII \"@contains other_value\" \"chain\"", "SecRule MATCHED_VAR_NAME \"@contains asdf\" \"\"" ] }, { "enabled":1, "version_min":300000, "title":"Testing Variables :: MATCHED_VAR_NAME (2/7)", "client":{ "ip":"200.249.12.31", "port":123 }, "server":{ "ip":"200.249.12.31", "port":80 }, "request":{ "headers":{ "Host":"localhost", "User-Agent":"curl/7.38.0", "Accept":"*/*" }, "uri":"/?keyI=value&keyII=other_value", "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":{ "debug_log":" Target value: \"ARGS:keyII\" \\(Variable: MATCHED_VAR_NAME\\)" }, "rules":[ "SecRuleEngine On", "SecRule ARGS:keyI \"@contains value\" \"chain,id:28,pass\"", "SecRule ARGS:keyII \"@contains other_value\" \"chain\"", "SecRule MATCHED_VAR_NAME \"@contains asdf\" \"\"", "SecRule MATCHED_VAR_NAME \"@contains value\" \"id:29\"" ] }, { "enabled":1, "version_min":300000, "title":"Testing Variables :: MATCHED_VAR_NAME (3/7)", "client":{ "ip":"200.249.12.31", "port":123 }, "server":{ "ip":"200.249.12.31", "port":80 }, "request":{ "headers":{ "Host":"localhost", "User-Agent":"curl/7.38.0", "Accept":"*/*" }, "uri":"/?key1=value&key2=other_value", "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":{ "debug_log":" Target value: \"ARGS_NAMES:key1\" \\(Variable: MATCHED_VAR_NAME\\)" }, "rules":[ "SecRuleEngine On", "SecRule ARGS_NAMES \"@contains ey1\" \"chain,id:30,pass\"", "SecRule MATCHED_VAR_NAME \"@contains key1\" \"id:31\"" ] }, { "enabled":1, "version_min":300000, "title":"Testing Variables :: MATCHED_VAR_NAME (4/7)", "client":{ "ip":"200.249.12.31", "port":123 }, "server":{ "ip":"200.249.12.31", "port":80 }, "request":{ "headers":{ "Host":"localhost", "User-Agent":"curl/7.38.0", "Accept":"*/*" }, "uri":"/?foo=1&bar=2&baz=2", "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 }, "rules":[ "SecRuleEngine On", "SecRule ARGS \"@rx 1\" \"id:1,phase:1,pass\"", "SecRule ARGS \"@rx 2\" \"id:2,phase:1,pass\"", "SecRule MATCHED_VAR_NAME \"@strEq ARGS:foo\" \"id:3,phase:1,deny,status:403\"" ] }, { "enabled":1, "version_min":300000, "title":"Testing Variables :: MATCHED_VAR_NAME (5/7)", "client":{ "ip":"200.249.12.31", "port":123 }, "server":{ "ip":"200.249.12.31", "port":80 }, "request":{ "headers":{ "Host":"localhost", "User-Agent":"curl/7.38.0", "Accept":"*/*" }, "uri":"/?foo=1&bar=2&baz=2", "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 }, "rules":[ "SecRuleEngine On", "SecRule ARGS \"@rx 1\" \"id:1,phase:1,pass\"", "SecRule ARGS \"@rx 2\" \"id:2,phase:1,pass\"", "SecRule MATCHED_VAR_NAME \"@strEq ARGS:bar\" \"id:3,phase:1,deny,status:403\"" ] }, { "enabled":1, "version_min":300000, "title":"Testing Variables :: MATCHED_VAR_NAME (6/7)", "client":{ "ip":"200.249.12.31", "port":123 }, "server":{ "ip":"200.249.12.31", "port":80 }, "request":{ "headers":{ "Host":"localhost", "User-Agent":"curl/7.38.0", "Accept":"*/*" }, "uri":"/?foo=1&bar=2&baz=2", "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 }, "rules":[ "SecRuleEngine On", "SecRule ARGS \"@rx 1\" \"id:1,phase:1,pass\"", "SecRule ARGS \"@rx 2\" \"id:2,phase:1,pass\"", "SecRule MATCHED_VAR_NAME \"@strEq ARGS:baz\" \"id:3,phase:1,deny,status:403\"" ] }, { "enabled":1, "version_min":300000, "title":"Testing Variables :: MATCHED_VAR_NAME (7/7)", "client":{ "ip":"200.249.12.31", "port":123 }, "server":{ "ip":"200.249.12.31", "port":80 }, "request":{ "headers":{ "Host":"localhost", "User-Agent":"curl/7.38.0", "Accept":"*/*" }, "uri":"/?foo=1&bar=2&baz=2", "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": 403 }, "rules":[ "SecRuleEngine On", "SecRule ARGS \"@rx 1\" \"id:1,phase:1,pass\"", "SecRule ARGS \"@rx 2\" \"id:2,phase:1,deny,status:403,chain\"", "SecRule MATCHED_VAR_NAME \"@within ARGS:baz ARGS:bar\"" ] } ]