| #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(); |
| |
| # === WL TEST 1.01 |
| # --- http_config |
| # include /etc/nginx/naxsi_core.rules; |
| # MainRule negative "str:foobar" "msg:foobar test pattern" "mz:$ARGS_VAR:b" "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; |
| # } |
| # location /RequestDenied { |
| # return 412; |
| # } |
| # --- request |
| # GET /?b=foobar |
| # --- error_code: 412 |
| |
| # === WL TEST 2.0 |
| # --- http_config |
| # include /etc/nginx/naxsi_core.rules; |
| # MainRule negative "rx:foobar" "msg:foobar test pattern" "mz:$ARGS_VAR:b" "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; |
| # } |
| # location /RequestDenied { |
| # return 412; |
| # } |
| # --- request |
| # GET /?b=foobar |
| # --- error_code: 200 |
| |
| # === WL TEST 2.01 |
| # --- http_config |
| # include /etc/nginx/naxsi_core.rules; |
| # MainRule negative "rx:^foobar$" "msg:foobar test pattern" "mz:$ARGS_VAR:b" "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; |
| # } |
| # location /RequestDenied { |
| # return 412; |
| # } |
| # --- request |
| # GET /?b=foobarr |
| # --- error_code: 412 |
| |
| # === WL TEST 2.02 |
| # --- http_config |
| # include /etc/nginx/naxsi_core.rules; |
| # MainRule negative "rx:^foobar$" "msg:foobar test pattern" "mz:$ARGS_VAR:b" "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; |
| # } |
| # location /RequestDenied { |
| # return 412; |
| # } |
| # --- request |
| # GET /?b=ffoobar |
| # --- error_code: 412 |
| |
| __DATA__ |
| |
| === WL TEST 1.0 |
| --- http_config |
| include /etc/nginx/naxsi_core.rules; |
| MainRule negative "str:foobar" "msg:foobar test pattern" "mz:$ARGS_VAR:b" "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 /?b=toto |
| --- error_code: 412 |
| |
| === WL TEST 1.01 |
| --- http_config |
| include /etc/nginx/naxsi_core.rules; |
| MainRule negative "str:foobar" "msg:foobar test pattern" "mz:$ARGS_VAR:b" "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 /?b=foobar |
| --- error_code: 200 |
| |
| === WL TEST 1.03 |
| --- http_config |
| include /etc/nginx/naxsi_core.rules; |
| MainRule negative "str:foobar" "msg:foobar test pattern" "mz:$URL:/|$ARGS_VAR:b" "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 /a?b=foobar |
| --- error_code: 404 |
| |
| === WL TEST 1.04 |
| --- http_config |
| include /etc/nginx/naxsi_core.rules; |
| MainRule negative "str:foobar" "msg:foobar test pattern" "mz:$URL:/a|$ARGS_VAR:b" "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 /a?b=foobrar |
| --- error_code: 412 |
| |
| |
| |
| === WL TEST 2.0 |
| --- http_config |
| include /etc/nginx/naxsi_core.rules; |
| MainRule negative "rx:foobar" "msg:foobar test pattern" "mz:$URL:/a|$ARGS_VAR:b" "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 /a?b=foobrar |
| --- error_code: 412 |
| |
| |
| |
| === WL TEST 2.01 |
| --- http_config |
| include /etc/nginx/naxsi_core.rules; |
| MainRule negative "rx:foobar" "msg:foobar test pattern" "mz:$URL:/a|$ARGS_VAR:b" "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 /a?b=foobar |
| --- error_code: 404 |
| |
| |
| === WL TEST 2.02 |
| --- http_config |
| include /etc/nginx/naxsi_core.rules; |
| MainRule negative "rx:^foobar" "msg:foobar test pattern" "mz:$URL:/a|$ARGS_VAR:b" "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 /?b=foobar |
| --- error_code: 200 |
| |
| === WL TEST 2.03 |
| --- http_config |
| include /etc/nginx/naxsi_core.rules; |
| MainRule negative "rx:^foobar" "msg:foobar test pattern" "mz:$URL:/a|$ARGS_VAR:b" "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 /a?b=rfoobar |
| --- error_code: 412 |
| |
| |
| |
| |
| |
| === WL TEST 2.04 |
| --- http_config |
| include /etc/nginx/naxsi_core.rules; |
| MainRule negative "rx:^foobar" "msg:foobar test pattern" "mz:$URL:/a|$ARGS_VAR:b" "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 /a?b=foobar |
| --- error_code: 404 |
| |
| |
| |
| |
| |
| |
| === WL TEST 2.05 |
| --- http_config |
| include /etc/nginx/naxsi_core.rules; |
| MainRule negative "rx:^foobar$" "msg:foobar test pattern" "mz:$URL:/a|$ARGS_VAR:b" "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 /a?b=foobar |
| --- error_code: 404 |
| |
| |
| |
| |
| |
| === WL TEST 2.06 |
| --- http_config |
| include /etc/nginx/naxsi_core.rules; |
| MainRule negative "rx:^foobar$" "msg:foobar test pattern" "mz:$URL:/a|$ARGS_VAR:b" "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 /a?b=foobara |
| --- error_code: 412 |
| |
| |
| |
| |
| |
| === WL TEST 2.07 |
| --- http_config |
| include /etc/nginx/naxsi_core.rules; |
| MainRule negative "rx:^[0-9]+$" "msg:foobar test pattern" "mz:$URL:/a|$ARGS_VAR:b" "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 /a?b=foobara |
| --- error_code: 412 |
| |
| |
| |
| === WL TEST 2.08 |
| --- http_config |
| include /etc/nginx/naxsi_core.rules; |
| MainRule negative "rx:^[0-9]+$" "msg:foobar test pattern" "mz:$URL:/a|$ARGS_VAR:b" "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 /a?b=1234 |
| --- error_code: 404 |
| |
| |
| |
| |
| |
| |