[ { "enabled":1, "version_min":300000, "title":"Testing Variables :: REQBODY_PROCESSOR (1/3)", "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":"*/*", "Content-Type": "text/xml" }, "uri":"/?key=value&key=other_value", "http_version":1.1, "method":"POST", "body": [ "", "", "", "Everyday Italian", "Giada De Laurentiis", "2005", "30.00", "", "", "Harry Potter", "J K. Rowling", "2005", "29.99", "", "", "XQuery Kick Start", "James McGovern", "Per Bothner", "Kurt Cagle", "James Linn", "Vaidyanathan Nagarajan", "2003", "49.99", "", "", "Learning XML", "Erik T. Ray", "2003", "39.95", "", "" ] }, "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: \"XML\" \\(Variable: REQBODY_PROCESSOR\\)" }, "rules":[ "SecRuleEngine On", "SecRule REQUEST_HEADERS:Content-Type \"^(?:application(?:/soap\\+|/)|text/)xml\" \"id:500005,phase:1,t:none,t:lowercase,nolog,pass,ctl:requestBodyProcessor=XML\"", "SecRule REQBODY_PROCESSOR \"@contains test\" \"id:1,pass,phase:2,t:trim\"" ] }, { "enabled":1, "version_min":300000, "title":"Testing Variables :: REQBODY_PROCESSOR (2/3)", "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":"*/*", "Content-Type": "multipart/form-data; boundary=--------------------------756b6d74fa1a8ee2" }, "uri":"/?key=value&key=other_value", "http_version":1.1, "method":"POST", "body": [ "--------------------------756b6d74fa1a8ee2", "Content-Disposition: form-data; name=\"name\"", "", "test", "--------------------------756b6d74fa1a8ee2", "Content-Disposition: form-data; name=\"filedata\"; filename=\"small_text_file.txt\"", "Content-Type: text/plain", "", "This is a very small test file..", "--------------------------756b6d74fa1a8ee2", "Content-Disposition: form-data; name=\"filedata\"; filename=\"small_text_file.txt\"", "Content-Type: text/plain", "", "This is another very small test file..", "--------------------------756b6d74fa1a8ee2--" ] }, "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: \"MULTIPART\" \\(Variable: REQBODY_PROCESSOR\\)" }, "rules":[ "SecRuleEngine On", "SecRule REQBODY_PROCESSOR \"@contains test\" \"id:1,pass,t:trim\"" ] }, { "enabled":1, "version_min":300000, "title":"Testing Variables :: REQBODY_PROCESSOR (3/3)", "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":"*/*", "Content-Type": "application/x-www-form-urlencoded" }, "uri":"/?key=value&key=other_value", "http_version":1.1, "method":"POST", "body": [ "param1=value1¶m2=value2" ] }, "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: \"URLENCODED\" \\(Variable: REQBODY_PROCESSOR\\)" }, "rules":[ "SecRuleEngine On", "SecRule REQBODY_PROCESSOR \"@contains test\" \"id:1,pass,t:trim\"" ] } ]