1[ 2 { 3 "enabled":1, 4 "version_min":300000, 5 "title":"Testing Variables :: MULTIPART_STRICT_ERROR", 6 "client":{ 7 "ip":"200.249.12.31", 8 "port":123 9 }, 10 "server":{ 11 "ip":"200.249.12.31", 12 "port":80 13 }, 14 "request":{ 15 "headers":{ 16 "Host":"localhost", 17 "User-Agent":"curl/7.38.0", 18 "Accept":"*/*", 19 "Content-Length":"330", 20 "Content-Type":"multipart/form-data; boundary= --------------------------756b6d74fa1a8ee2", 21 "Expect":"100-continue" 22 }, 23 "uri":"/", 24 "method":"POST", 25 "body":[ 26 "--------------------------756b6d74fa1a8ee2", 27 "Content-Disposition: form-data; name=\"name\"", 28 "", 29 "test", 30 "--------------------------756b6d74fa1a8ee2", 31 "Content-Disposition: form-data; name=\"filedata\"; filename=\"small_text_file.txt\"", 32 "Content-Type: text/plain", 33 "", 34 "This is a very small test file..", 35 "--------------------------756b6d74fa1a8ee2", 36 "Content-Disposition: form-data; name=\"filedata\"; filename=\"small_text_file.txt\"", 37 "Content-Type: text/plain", 38 "", 39 "This is another very small test file..", 40 "--------------------------756b6d74fa1a8ee2--" 41 ] 42 }, 43 "response":{ 44 "headers":{ 45 "Date":"Mon, 13 Jul 2015 20:02:41 GMT", 46 "Last-Modified":"Sun, 26 Oct 2014 22:33:37 GMT", 47 "Content-Type":"text/html" 48 }, 49 "body":[ 50 "no need." 51 ] 52 }, 53 "expected":{ 54 "debug_log":"Multipart: Warning: boundary whitespace in C-T header" 55 }, 56 "rules":[ 57 "SecRuleEngine On", 58 "SecRule MULTIPART_STRICT_ERROR \"@contains 0\" \"id:1,phase:3,pass,t:trim\"" 59 ] 60 }, 61 { 62 "enabled":1, 63 "version_min":300000, 64 "title":"Testing Variables :: MULTIPART_STRICT_ERROR", 65 "client":{ 66 "ip":"200.249.12.31", 67 "port":123 68 }, 69 "server":{ 70 "ip":"200.249.12.31", 71 "port":80 72 }, 73 "request":{ 74 "headers":{ 75 "Host":"localhost", 76 "User-Agent":"curl/7.38.0", 77 "Accept":"*/*", 78 "Content-Length":"330", 79 "Content-Type":"multipart/form-data; boundary=\"--------------------------756b6d74fa1a8ee2\"", 80 "Expect":"100-continue" 81 }, 82 "uri":"/", 83 "method":"POST", 84 "body":[ 85 "--------------------------756b6d74fa1a8ee2", 86 "Content-Disposition: form-data; name=\"name\"", 87 "", 88 "test", 89 "--------------------------756b6d74fa1a8ee2", 90 "Content-Disposition: form-data; name=\"filedata\"; filename=\"small_text_file.txt\"", 91 "Content-Type: text/plain", 92 "", 93 "This is a very small test file..", 94 "--------------------------756b6d74fa1a8ee2", 95 "Content-Disposition: form-data; name=\"filedata\"; filename=\"small_text_file.txt\"", 96 "Content-Type: text/plain", 97 "", 98 "This is another very small test file..", 99 "--------------------------756b6d74fa1a8ee2--" 100 ] 101 }, 102 "response":{ 103 "headers":{ 104 "Date":"Mon, 13 Jul 2015 20:02:41 GMT", 105 "Last-Modified":"Sun, 26 Oct 2014 22:33:37 GMT", 106 "Content-Type":"text/html" 107 }, 108 "body":[ 109 "no need." 110 ] 111 }, 112 "expected":{ 113 "debug_log":"Multipart: Warning: boundary was quoted." 114 }, 115 "rules":[ 116 "SecRuleEngine On", 117 "SecRule MULTIPART_STRICT_ERROR \"@contains 0\" \"id:1,phase:3,pass,t:trim\"" 118 ] 119 }, 120 { 121 "enabled":1, 122 "version_min":300000, 123 "title":"Testing Variables :: MULTIPART_STRICT_ERROR", 124 "client":{ 125 "ip":"200.249.12.31", 126 "port":123 127 }, 128 "server":{ 129 "ip":"200.249.12.31", 130 "port":80 131 }, 132 "request":{ 133 "headers":{ 134 "Host":"localhost", 135 "User-Agent":"curl/7.38.0", 136 "Accept":"*/*", 137 "Content-Length":"330", 138 "Content-Type":"multipart/form-data; boundary=--------------------------756b6d74fa1a8ee2", 139 "Expect":"100-continue" 140 }, 141 "uri":"/", 142 "method":"POST", 143 "body":[ 144 "--------------------------756b6d74fa1a8ee2", 145 "Content-Disposition: form-data; name=\"name\"", 146 "", 147 "test", 148 "--------------------------756b6d74fa1a8ee2", 149 "Content-Disposition: form-data; name=\"filedata\"; filename=\"small_text_file.txt\"", 150 "Content-Type: text/plain", 151 "", 152 "This is a very small test file..", 153 "--------------------------756b6d74fa1a8ee2", 154 "Content-Disposition: form-data; name=\"filedata\"; filename=\"small_text_file.txt\"", 155 "Content-Type: text/plain", 156 "", 157 "This is another very small test file..", 158 "--------------------------756b6d74fa1a8ee2--whee." 159 ] 160 }, 161 "response":{ 162 "headers":{ 163 "Date":"Mon, 13 Jul 2015 20:02:41 GMT", 164 "Last-Modified":"Sun, 26 Oct 2014 22:33:37 GMT", 165 "Content-Type":"text/html" 166 }, 167 "body":[ 168 "no need." 169 ] 170 }, 171 "expected":{ 172 "debug_log":"Multipart: Warning: seen data before first boundary" 173 }, 174 "rules":[ 175 "SecRuleEngine On", 176 "SecRule MULTIPART_STRICT_ERROR \"@contains 0\" \"id:1,phase:3,pass,t:trim\"" 177 ] 178 }, 179 { 180 "enabled":1, 181 "version_min":300000, 182 "title":"Testing Variables :: MULTIPART_STRICT_ERROR", 183 "client":{ 184 "ip":"200.249.12.31", 185 "port":123 186 }, 187 "server":{ 188 "ip":"200.249.12.31", 189 "port":80 190 }, 191 "request":{ 192 "headers":{ 193 "Host":"localhost", 194 "User-Agent":"curl/7.38.0", 195 "Accept":"*/*", 196 "Content-Length":"330", 197 "Content-Type":"multipart/form-data; boundary=--------------------------756b6d74fa1a8ee2", 198 "Expect":"100-continue" 199 }, 200 "uri":"/", 201 "method":"POST", 202 "body":[ 203 "----------------------------756b6d74fa1a8ee2", 204 "Content-Disposition: form-data; name=\"name\"", 205 "", 206 "test", 207 "----------------------------756b6d74fa1a8ee2", 208 "Content-Disposition: form-data; name=\"filedata\"; filename=\"small_text_file.txt\"", 209 "Content-Type: text/plain", 210 "", 211 "This is a very small test file..", 212 "----------------------------756b6d74fa1a8ee2", 213 "Content-Disposition: form-data; name=\"filedata\"; filename=\"small_text_file.txt\"", 214 "Content-Type: text/plain", 215 "", 216 "This is another very small test file..", 217 "----------------------------756b6d74fa1a8ee2--" 218 ] 219 }, 220 "response":{ 221 "headers":{ 222 "Date":"Mon, 13 Jul 2015 20:02:41 GMT", 223 "Last-Modified":"Sun, 26 Oct 2014 22:33:37 GMT", 224 "Content-Type":"text/html" 225 }, 226 "body":[ 227 "no need." 228 ] 229 }, 230 "expected":{ 231 "debug_log":"Warning: incorrect line endings used \\(LF\\)" 232 }, 233 "rules":[ 234 "SecRuleEngine On", 235 "SecRule MULTIPART_STRICT_ERROR \"@contains 0\" \"id:1,phase:3,pass,t:trim\"" 236 ] 237 }, 238 { 239 "enabled":1, 240 "version_min":300000, 241 "title":"Testing Variables :: MULTIPART_STRICT_ERROR", 242 "client":{ 243 "ip":"200.249.12.31", 244 "port":123 245 }, 246 "server":{ 247 "ip":"200.249.12.31", 248 "port":80 249 }, 250 "request":{ 251 "headers":{ 252 "Host":"localhost", 253 "User-Agent":"curl/7.38.0", 254 "Accept":"*/*", 255 "Content-Length":"330", 256 "Content-Type":"multipart/form-data; boundary=--------------------------756b6d74fa1a8ee2", 257 "Expect":"100-continue" 258 }, 259 "uri":"/", 260 "method":"POST", 261 "body":[ 262 "--------------------------756b6d74fa1a8ee2", 263 "Content-Disposition: form-data; name=\"name\"", 264 "", 265 "test", 266 "--------------------------756b6d74fa1a8ee2", 267 "Content-Disposition: form-data; name='filedata'; filename=\"small_text_file.txt\"", 268 "Content-Type: text/plain", 269 "", 270 "This is a very small test file..", 271 "--------------------------756b6d74fa1a8ee2", 272 "Content-Disposition: form-data; name=\"filedata\"; filename=\"small_text_file.txt\"", 273 "Content-Type: text/plain", 274 "", 275 "This is another very small test file..", 276 "--------------------------756b6d74fa1a8ee2--" 277 ] 278 }, 279 "response":{ 280 "headers":{ 281 "Date":"Mon, 13 Jul 2015 20:02:41 GMT", 282 "Last-Modified":"Sun, 26 Oct 2014 22:33:37 GMT", 283 "Content-Type":"text/html" 284 }, 285 "body":[ 286 "no need." 287 ] 288 }, 289 "expected":{ 290 "debug_log":"Multipart: Warning: seen data before first boundary" 291 }, 292 "rules":[ 293 "SecRuleEngine On", 294 "SecRule MULTIPART_STRICT_ERROR \"@contains 0\" \"id:1,phase:3,pass,t:trim\"" 295 ] 296 }, 297 { 298 "enabled":1, 299 "version_min":300000, 300 "title":"Testing Variables :: MULTIPART_STRICT_ERROR - RFC2046", 301 "client":{ 302 "ip":"200.249.12.31", 303 "port":123 304 }, 305 "server":{ 306 "ip":"200.249.12.31", 307 "port":80 308 }, 309 "request":{ 310 "headers":{ 311 "Host":"localhost", 312 "User-Agent":"curl/7.38.0", 313 "Accept":"*/*", 314 "Content-Length":"330", 315 "Content-Type":"multipart/form-data; boundary=0123456789AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz '()+_,-./:=?", 316 "Expect":"100-continue" 317 }, 318 "uri":"/", 319 "method":"POST", 320 "body":[ 321 "--0123456789AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz '()+_,-./:=?", 322 "Content-Disposition: form-data; name=\"name\"", 323 "", 324 "1", 325 "--0123456789AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz '()+_,-./:=?--" 326 ] 327 }, 328 "response":{ 329 "headers":{ 330 "Date":"Mon, 13 Jul 2015 20:02:41 GMT", 331 "Last-Modified":"Sun, 26 Oct 2014 22:33:37 GMT", 332 "Content-Type":"text/html" 333 }, 334 "body":[ 335 "no need." 336 ] 337 }, 338 "expected":{ 339 "debug_log":"Target value: \"0\" \\(Variable: REQBODY_ERROR\\)" 340 }, 341 "rules":[ 342 "SecRuleEngine On", 343 "SecRule REQBODY_ERROR \"@contains 0\" \"id:1,phase:3,pass,t:trim\"" 344 ] 345 } 346] 347 348