Welcome! Log In Create A New Profile

Advanced

Экранирование логов nginx

Posted by kay 
kay
Экранирование логов nginx
June 01, 2012 08:00AM
День добрый.

Столкнулся с проблемой.

При специально сформированном запросе на сайт с авторизацией nginx 1.2.0 пропускает непечатаемые символы в error_log, что теоретически может привести к краху анализаторы логов. К счастью access_log этому не подвержен. Для примера обычные кавычки (вместо них может быть любой непечатаемый символ):

Пример:
telnet example.com 80
Trying 192.168.0.1...
Connected to example.com.
Escape character is '^]'.
GET /"index.html" HTTP/1.1
host: example.com

В access_log имеем:
example.com 192.168.0.2 - - [01/Jun/2012:15:29:52 +0400] "GET /\x22index.html\x22 HTTP/1.1" 401 188 "-" "-" TIME: 8.399
А вот в error_log:
2012/06/01 15:29:52 [error] 10456#0: *13157 no user/password was provided for basic authentication, client: 192.168.0.2, server: example.com, request: "GET /"index.html" HTTP/1.1", host: "example.com"

Видим: "GET /"index.html" HTTP/1.1", а должно быть "GET /\x22index.html\x22 HTTP/1.1"

Еще пример:
2012/06/01 15:31:31 [error] 10456#0: *13195 no user/password was provided for basic authentication, client: 192.168.0.2, server: example.com, request: "GET /`index.html`ESC[D HTTP/1.1", host: "example.com"

К сожалению на nginx 1.3 не тестировал, порылся в changes, ничего подобного не нашел.
Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 262
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready