Новый метод атаки на обратный прокси Apache

В начале октября в http-сервере Apache была обнаружена уязвимость, позволяющая при работе mod_proxy в режиме обратного прокси отправить запрос из внешней сети к внутренним серверам в демилитаризованной зоне (DMZ), при наличии определенных rewrite-правил в конфигурации сервера. Разработчики проекта выпустили патч для устранения проблемы, но как оказалось он бесполезен при использовании обходных путей для совершения атаки.

Если в конфигурации сервера, есть примерно такое правило (вместо RewriteRule может быть ProxyPassMatch):

   RewriteRule ^(.*) http://www.example.com$1 [P]

Атакующий может отправить запросы (символ «@» будет воспринят как разделитель для параметров аутентификации):

   GET @localhost::8880 HTTP/1.0rnrn
   GET qualys:@qqq.qq.example.com HTTP/1.0rnrn

В первом случае запрос будет транслирован в «http://localhost::8880», т.е. вместо сервера www.example.com будет осуществлено обращение по сетевому порту 8880 (Tomcat). Во втором случае запрос будет транслирован в «http://www.example.com@qqq.qq.example.com», и, соответственно, обращение будет к серверу qqq.qq.example.com.

В настоящее время официальных исправлений не выпущено, но один из работников компании Red Hat опубликовал неофициальный патч. Как и в случае прошлой уязвимости проблему решает явное добавление слеша-разделителя в правило («http://www.example.com/$1» вместо «http://www.example.com$1»).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.