Что такое эксплойт обратного прокси?

На этот вопрос я обнаружил эту конкретную часть кода в файле конфигурации Apache:

# rewrite rule to prevent proxy exploit
RewriteCond  %{REQUEST_URI}  !^$
RewriteCond  %{REQUEST_URI}  !^/
RewriteRule  .*              -    [R=400,L]

Что такое прокси-эксплойт?

Как он работает и как именно эти строки предотвратить атаку?

3
задан 13 April 2017 в 15:14
1 ответ

Эксплойт обратного прокси - это возможность воспользоваться уязвимостью в службе, выступающей в качестве промежуточного редиректора для запроса клиента к одному или нескольким бэкендским серверам/сервисам.

HTTPd Apache может выступать в качестве такого шлюза, используя свои многопротокольные возможности прокси/шлюза, например mod_proxy и связанные с ним модули.

Представленный код, использующий директивы Apache mod_rewrite (здесь RewriteCond), предположительно, направлен на смягчение уязвимости Apache, связанной с тем, как перезаписывать значения процесса модуля, полученные в URI входящего запроса.

1 ) Условие первого перезаписывания

RewriteCond  %{REQUEST_URI}  !^$
  • Переменная REQUEST_URI - это компонент пути в запрошенном URI (без строки запроса)
  • ! : "не" (например, не соответствует)
  • ^ : "начало переменной REQUEST_URI
  • $ : "конец значения REQUEST_URI"

2 ) Второе условие перезаписи

RewriteCond  %{REQUEST_URI}  !^/
  • Переменная REQUEST_URI - это компонент пути к запрашиваемому URI (без строки запроса)
  • ! : "не"
  • ^ : "начало значения REQUEST_URI"
  • / : "/" (буквально), например, "разделитель косой черты"

3 ) Переписать правило

   RewriteRule  .*              -    [R=400,L]
  • : "любой отдельный символ"
  • * : "Ноль или больше предыдущего символа"
  • - : "Никакой модификации входящего URL
  • R=400 : Переадресация с кодом статуса HTTP 400 ("Плохой запрос")
  • L : "Последнее" правило, остановка обработки
1
ответ дан 3 December 2019 в 07:24

Теги

Похожие вопросы