| #vi:filetype=perl |
| |
| |
| # A AJOUTER : |
| # TEST CASE AVEC UNE REGLE SUR UN HEADER GENERIQUE |
| # La même sur des arguments :) |
| |
| use lib 'lib'; |
| use Test::Nginx::Socket; |
| |
| plan tests => repeat_each(2) * blocks(); |
| no_root_location(); |
| no_long_string(); |
| $ENV{TEST_NGINX_SERVROOT} = server_root(); |
| run_tests(); |
| __DATA__ |
| === WL TEST 1.0: Obvious test in arg |
| --- http_config |
| include /etc/nginx/naxsi_core.rules; |
| MainRule "str:foobar" "msg:foobar test pattern" "mz:ARGS" "s:$SQL:42" id:1999; |
| --- config |
| location / { |
| #LearningMode; |
| SecRulesEnabled; |
| DeniedUrl "/RequestDenied"; |
| CheckRule "$SQL >= 8" BLOCK; |
| CheckRule "$RFI >= 8" BLOCK; |
| CheckRule "$TRAVERSAL >= 4" BLOCK; |
| CheckRule "$XSS >= 8" BLOCK; |
| root $TEST_NGINX_SERVROOT/html/; |
| index index.html index.htm; |
| } |
| location /RequestDenied { |
| return 412; |
| } |
| --- request |
| GET /?foobar=a |
| --- error_code: 412 |
| |
| === WL TEST 1.1: Obvious test in arg |
| --- http_config |
| include /etc/nginx/naxsi_core.rules; |
| MainRule "str:foobar" "msg:foobar test pattern" "mz:ARGS" "s:$SQL:42" id:1999; |
| --- config |
| location / { |
| #LearningMode; |
| SecRulesEnabled; |
| DeniedUrl "/RequestDenied"; |
| CheckRule "$SQL >= 8" BLOCK; |
| CheckRule "$RFI >= 8" BLOCK; |
| CheckRule "$TRAVERSAL >= 4" BLOCK; |
| CheckRule "$XSS >= 8" BLOCK; |
| root $TEST_NGINX_SERVROOT/html/; |
| index index.html index.htm; |
| BasicRule wl:1999 "mz:$ARGS_VAR:foobar|NAME"; |
| } |
| location /RequestDenied { |
| return 412; |
| } |
| --- request |
| GET /?foobar=a |
| --- error_code: 200 |
| |