Назад | Перейти на главную страницу

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

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

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

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

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

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

Apache HTTPd может действовать как такой шлюз, используя свои многопротокольные функции прокси / шлюза, например. 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: «Последнее» правило, прекратить обработку