|
81 | 81 | "rules":[
|
82 | 82 | "SecRuleEngine On",
|
83 | 83 | "SecRequestBodyAccess On",
|
84 |
| - "SecParseXMLIntoArgs On", |
| 84 | + "SecParseXmlIntoArgs On", |
85 | 85 | "SecRule REQUEST_HEADERS:Content-Type \"^text/xml$\" \"id:500011,phase:1,t:none,t:lowercase,nolog,pass,ctl:requestBodyProcessor=XML\"",
|
86 | 86 | "SecRule ARGS:xml.bookstore.some-tag \"@rx aaa\" \"id:500012,phase:2,t:none,t:lowercase,log,deny,status:403\""
|
87 | 87 | ]
|
|
125 | 125 | "rules":[
|
126 | 126 | "SecRuleEngine On",
|
127 | 127 | "SecRequestBodyAccess On",
|
128 |
| - "SecParseXMLIntoArgs On", |
| 128 | + "SecParseXmlIntoArgs On", |
129 | 129 | "SecRule REQUEST_HEADERS:Content-Type \"^text/xml$\" \"id:500011,phase:1,t:none,t:lowercase,nolog,pass,ctl:requestBodyProcessor=XML\"",
|
130 | 130 | "SecRule XML:/* \"@rx aaa\" \"id:500012,phase:2,t:none,t:lowercase,log,deny,status:403\""
|
131 | 131 | ]
|
|
169 | 169 | "rules":[
|
170 | 170 | "SecRuleEngine On",
|
171 | 171 | "SecRequestBodyAccess On",
|
172 |
| - "SecParseXMLIntoArgs OnlyArgs", |
| 172 | + "SecParseXmlIntoArgs OnlyArgs", |
173 | 173 | "SecRule REQUEST_HEADERS:Content-Type \"^text/xml$\" \"id:500011,phase:1,t:none,t:lowercase,nolog,pass,ctl:requestBodyProcessor=XML\"",
|
174 | 174 | "SecRule ARGS:xml.bookstore.some-tag \"@rx aaa\" \"id:500012,phase:2,t:none,t:lowercase,log,deny,status:403\""
|
175 | 175 | ]
|
|
213 | 213 | "rules":[
|
214 | 214 | "SecRuleEngine On",
|
215 | 215 | "SecRequestBodyAccess On",
|
216 |
| - "SecParseXMLIntoArgs OnlyArgs", |
| 216 | + "SecParseXmlIntoArgs OnlyArgs", |
217 | 217 | "SecRule REQUEST_HEADERS:Content-Type \"^text/xml$\" \"id:500011,phase:1,t:none,t:lowercase,nolog,pass,ctl:requestBodyProcessor=XML\"",
|
218 | 218 | "SecRule XML:/* \"@rx aaa\" \"id:500012,phase:2,t:none,t:lowercase,log,deny,status:403\""
|
219 | 219 | ]
|
|
257 | 257 | "rules":[
|
258 | 258 | "SecRuleEngine On",
|
259 | 259 | "SecRequestBodyAccess On",
|
260 |
| - "SecParseXMLIntoArgs Off", |
| 260 | + "SecParseXmlIntoArgs Off", |
261 | 261 | "SecRule REQUEST_HEADERS:Content-Type \"^text/xml$\" \"id:500011,phase:1,t:none,t:lowercase,nolog,pass,ctl:requestBodyProcessor=XML\"",
|
262 | 262 | "SecRule ARGS \"@rx aaa\" \"id:500012,phase:2,t:none,t:lowercase,log,deny,status:403\""
|
263 | 263 | ]
|
|
301 | 301 | "rules":[
|
302 | 302 | "SecRuleEngine On",
|
303 | 303 | "SecRequestBodyAccess On",
|
304 |
| - "SecParseXMLIntoArgs Off", |
| 304 | + "SecParseXmlIntoArgs Off", |
305 | 305 | "SecRule REQUEST_HEADERS:Content-Type \"^text/xml$\" \"id:500011,phase:1,t:none,t:lowercase,nolog,pass,ctl:requestBodyProcessor=XML\"",
|
306 | 306 | "SecRule XML:/* \"@rx aaa\" \"id:500012,phase:2,t:none,t:lowercase,log,deny,status:403\""
|
307 | 307 | ]
|
|
345 | 345 | "rules":[
|
346 | 346 | "SecRuleEngine On",
|
347 | 347 | "SecRequestBodyAccess On",
|
348 |
| - "SecParseXMLIntoArgs On", |
| 348 | + "SecParseXmlIntoArgs On", |
349 | 349 | "SecRule REQUEST_HEADERS:Content-Type \"^text/xml$\" \"id:500011,phase:1,t:none,t:lowercase,nolog,pass,ctl:requestBodyProcessor=XML\"",
|
350 | 350 | "SecRule ARGS_GET:q \"@rx xml\" \"id:500012,phase:1,t:none,t:lowercase,ctl:parseXmlIntoArgs=Off\"",
|
351 | 351 | "SecRule ARGS:xml.bookstore.some-tag \"@rx aaa\" \"id:500013,phase:2,t:none,t:lowercase,log,deny,status:403\""
|
|
390 | 390 | "rules":[
|
391 | 391 | "SecRuleEngine On",
|
392 | 392 | "SecRequestBodyAccess On",
|
393 |
| - "SecParseXMLIntoArgs On", |
| 393 | + "SecParseXmlIntoArgs On", |
394 | 394 | "SecRule REQUEST_HEADERS:Content-Type \"^text/xml$\" \"id:500011,phase:1,t:none,t:lowercase,nolog,pass,ctl:requestBodyProcessor=XML\"",
|
395 | 395 | "SecRule ARGS_GET:q \"@rx xml\" \"id:500012,phase:1,t:none,t:lowercase,ctl:parseXmlIntoArgs=Off\"",
|
396 | 396 | "SecRule XML:/* \"@rx aaa\" \"id:500013,phase:2,t:none,t:lowercase,log,deny,status:403\""
|
|
435 | 435 | "rules":[
|
436 | 436 | "SecRuleEngine On",
|
437 | 437 | "SecRequestBodyAccess On",
|
438 |
| - "SecParseXMLIntoArgs On", |
| 438 | + "SecParseXmlIntoArgs On", |
439 | 439 | "SecRule REQUEST_HEADERS:Content-Type \"^text/xml$\" \"id:500011,phase:1,t:none,t:lowercase,nolog,pass,ctl:requestBodyProcessor=XML\"",
|
440 | 440 | "SecRule ARGS_GET:q \"@rx xml\" \"id:500012,phase:1,t:none,t:lowercase,ctl:parseXmlIntoArgs=OnlyArgs\"",
|
441 | 441 | "SecRule ARGS:xml.bookstore.some-tag \"@rx aaa\" \"id:500013,phase:2,t:none,t:lowercase,log,deny,status:403\""
|
|
481 | 481 | "rules":[
|
482 | 482 | "SecRuleEngine On",
|
483 | 483 | "SecRequestBodyAccess On",
|
484 |
| - "SecParseXMLIntoArgs On", |
| 484 | + "SecParseXmlIntoArgs On", |
485 | 485 | "SecRule REQUEST_HEADERS:Content-Type \"^text/xml$\" \"id:500011,phase:1,t:none,t:lowercase,nolog,pass,ctl:requestBodyProcessor=XML\"",
|
486 | 486 | "SecRule ARGS_GET:q \"@rx xml\" \"id:500012,phase:1,t:none,t:lowercase,ctl:parseXmlIntoArgs=OnlyArgs\"",
|
487 | 487 | "SecRule XML:/* \"@rx aaa\" \"id:500013,phase:2,t:none,t:lowercase,log,deny,status:403\""
|
488 | 488 | ]
|
489 |
| - } |
490 |
| - |
491 |
| - , |
| 489 | + }, |
492 | 490 | {
|
493 | 491 | "enabled":1,
|
494 | 492 | "version_min":300000,
|
|
528 | 526 | "rules":[
|
529 | 527 | "SecRuleEngine On",
|
530 | 528 | "SecRequestBodyAccess On",
|
531 |
| - "SecParseXMLIntoArgs Off", |
| 529 | + "SecParseXmlIntoArgs Off", |
532 | 530 | "SecRule REQUEST_HEADERS:Content-Type \"^text/xml$\" \"id:500011,phase:1,t:none,t:lowercase,nolog,pass,ctl:requestBodyProcessor=XML\"",
|
533 | 531 | "SecRule ARGS_GET:q \"@rx xml\" \"id:500012,phase:1,t:none,t:lowercase,ctl:parseXmlIntoArgs=On\"",
|
534 | 532 | "SecRule ARGS:xml.bookstore.some-tag \"@rx aaa\" \"id:500013,phase:2,t:none,t:lowercase,log,deny,status:403\""
|
|
540 | 538 | "resource":"libxml2",
|
541 | 539 | "title":"Testing XML parsing to ARGS with Off, turn On with ctl, check XML",
|
542 | 540 | "expected":{
|
543 |
| - "http_code": 200 |
| 541 | + "http_code": 403 |
544 | 542 | },
|
545 | 543 | "client":{
|
546 | 544 | "ip":"200.249.12.31",
|
|
572 | 570 | },
|
573 | 571 | "rules":[
|
574 | 572 | "SecRuleEngine On",
|
575 |
| - "SecRequestBodyAccess Off", |
576 |
| - "SecParseXMLIntoArgs On", |
| 573 | + "SecRequestBodyAccess On", |
| 574 | + "SecParseXmlIntoArgs Off", |
577 | 575 | "SecRule REQUEST_HEADERS:Content-Type \"^text/xml$\" \"id:500011,phase:1,t:none,t:lowercase,nolog,pass,ctl:requestBodyProcessor=XML\"",
|
578 | 576 | "SecRule ARGS_GET:q \"@rx xml\" \"id:500012,phase:1,t:none,t:lowercase,ctl:parseXmlIntoArgs=On\"",
|
579 | 577 | "SecRule XML:/* \"@rx aaa\" \"id:500013,phase:2,t:none,t:lowercase,log,deny,status:403\""
|
580 | 578 | ]
|
| 579 | + }, |
| 580 | + { |
| 581 | + "enabled":1, |
| 582 | + "version_min":300000, |
| 583 | + "resource":"libxml2", |
| 584 | + "title":"Testing XML parsing to ARGS with On, node contains utf8 character", |
| 585 | + "expected":{ |
| 586 | + "http_code": 403 |
| 587 | + }, |
| 588 | + "client":{ |
| 589 | + "ip":"200.249.12.31", |
| 590 | + "port":123 |
| 591 | + }, |
| 592 | + "request":{ |
| 593 | + "headers":{ |
| 594 | + "Host":"localhost", |
| 595 | + "User-Agent":"curl/7.38.0", |
| 596 | + "Accept":"*/*", |
| 597 | + "Content-Type": "text/xml" |
| 598 | + }, |
| 599 | + "uri":"/?q=xml", |
| 600 | + "method":"POST", |
| 601 | + "body": [ |
| 602 | + "<pizza>", |
| 603 | + "<has>pineapple</has><has>🍍</has>", |
| 604 | + "</pizza>" |
| 605 | + ] |
| 606 | + }, |
| 607 | + "server":{ |
| 608 | + "ip":"200.249.12.31", |
| 609 | + "port":80 |
| 610 | + }, |
| 611 | + "rules":[ |
| 612 | + "SecRuleEngine On", |
| 613 | + "SecRequestBodyAccess On", |
| 614 | + "SecParseXmlIntoArgs On", |
| 615 | + "SecRule REQUEST_HEADERS:Content-Type \"^text/xml$\" \"id:500011,phase:1,t:none,t:lowercase,nolog,pass,ctl:requestBodyProcessor=XML\"", |
| 616 | + "SecRule ARGS \"@rx 🍍\" \"id:500013,phase:2,t:none,t:lowercase,log,deny,status:403\"" |
| 617 | + ] |
581 | 618 | }
|
582 | 619 | ]
|
583 | 620 |
|
0 commit comments