Skip to content

Conversation

liudongmiao
Copy link

Nginx handles error_page via ngx_http_internal_redirect, and audit log in ModSecurity-nginx is trigged in the next handler.

In nginx's code, it's harded to GET for non-HEAD, refers https://github.com/nginx/nginx/blob/master/src/http/ngx_http_special_response.c#L618-L621:

 if (r->method != NGX_HTTP_HEAD) { r->method = NGX_HTTP_GET; r->method_name = ngx_http_core_get_method; }

This patch use method_name from request_line to fix this issue.

This should fix method name in #182, and solve #258.

Copy link
Author

@liudongmiao liudongmiao left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

don't assume method name is always uppercase

Nginx handles `error_page` via `ngx_http_internal_redirect`, and audit log in `ModSecurity-nginx` is trigged in the next handler. In nginx's code, it's harded to `GET` for non-`HEAD`, refers https://github.com/nginx/nginx/blob/master/src/http/ngx_http_special_response.c#L618-L621: ```c if (r->method != NGX_HTTP_HEAD) { r->method = NGX_HTTP_GET; r->method_name = ngx_http_core_get_method; } ``` This patch use `method_name` from `request_line` to fix this issue. This should fix method name in owasp-modsecurity#182, and solve owasp-modsecurity#258.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant