diff --git a/docs/en/plugins/httpsplitting.md b/docs/en/plugins/httpsplitting.md index 4bc0e08..19f6ad5 100644 --- a/docs/en/plugins/httpsplitting.md +++ b/docs/en/plugins/httpsplitting.md @@ -2,7 +2,7 @@ HTTP Splitting - attack that use improper input validation. It usually targets web application located behind Nginx (HTTP Request Splitting) or its users (HTTP Response Splitting). -Vulnerability is created when an attacker can insert newline character `\n` into request or into response, created by Nginx. +Vulnerability is created when an attacker can insert newline character `\n` or `\r` into request or into response, created by Nginx. ## How can I find it? You should always pay attention to: diff --git a/docs/ru/plugins/httpsplitting.md b/docs/ru/plugins/httpsplitting.md index 6d896bc..c692a20 100644 --- a/docs/ru/plugins/httpsplitting.md +++ b/docs/ru/plugins/httpsplitting.md @@ -3,7 +3,7 @@ HTTP Splitting - уязвимость, возникающая из-за неправильной обработки входных данных. Зачастую может быть для атак на приложение стоящее за Nginx (HTTP Request Splitting) или на клиентов приложения (HTTP Response Splitting). -Уязвимость возникает в случае, когда атакующий может внедрить символ перевода строки `\n` в запрос или ответ формируемый Nginx. +Уязвимость возникает в случае, когда атакующий может внедрить символ перевода строки `\n` или `\r` в запрос или ответ формируемый Nginx. ## Как самостоятельно обнаружить? При анализе конфигурации всега стоит обращать внимание на: diff --git a/gixy/plugins/http_splitting.py b/gixy/plugins/http_splitting.py index d2aeab6..8136ab9 100644 --- a/gixy/plugins/http_splitting.py +++ b/gixy/plugins/http_splitting.py @@ -29,7 +29,7 @@ class http_splitting(Plugin): return for var in compile_script(value): - if not var.can_contain('\n'): + if not var.can_contain('\n') and not var.can_contain('\r'): continue reason = 'At least variable "${var}" can contain "\\n"'.format(var=var.name) self.add_issue(directive=[directive] + var.providers, reason=reason)