The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Новый метод атаки на обратный прокси Apache"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Новый метод атаки на обратный прокси Apache"  +/
Сообщение от opennews (??) on 25-Ноя-11, 15:26 
В начале октября в http-сервере Apache была обнаружена уязвимость (http://www.opennet.me/opennews/art.shtml?num=31960), позволяющая при работе mod_proxy в режиме обратного прокси отправить запрос из внешней сети к внутренним серверам в демилитаризованной зоне (DMZ), при наличии определенных rewrite-правил в конфигурации сервера. Разработчики проекта выпустили патч для устранения проблемы, но как оказалось (https://community.qualys.com/blogs/securitylabs/2011/11/23/a...) он бесполезен при использовании обходных путей для совершения атаки.


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

<font color="#461b7e">
   RewriteRule ^(.*) http://www.example.com$1 [P]
</font>

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


<font color="#461b7e">
   GET @localhost::8880 HTTP/1.0\r\n\r\n
   GET qualys:@qqq.qq.example.com HTTP/1.0\r\n\...

URL: https://community.qualys.com/blogs/securitylabs/2011/11/23/a...
Новость: http://www.opennet.me/opennews/art.shtml?num=32392

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Новый метод атаки на обратный прокси Apache"  +11 +/
Сообщение от Pro (??) on 25-Ноя-11, 15:26 
Всегда говорил что писать рерайты это тебе не сиськи мять.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Новый метод атаки на обратный прокси Apache"  +22 +/
Сообщение от Аноним (??) on 25-Ноя-11, 15:30 
Их кроме автора mod_rewrite никто писать толком и не умеет.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

12. "Новый метод атаки на обратный прокси Apache"  +/
Сообщение от Xasd (ok) on 26-Ноя-11, 21:07 
ну регулярные выражения -- они и в африке регулярные выражения:

    http://xkcd.ru/208/

:-)

# p.s.: когда их пишешь -- то почти всегда потом оказывается что "а <вот-про-это> я подзабыл" :-)

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

3. "Новый метод атаки на обратный прокси Apache"  +/
Сообщение от антоним on 25-Ноя-11, 16:17 
GET qualys:@qqq.qq.example.com HTTP/1.0\r\n\r\n

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

объясните каким образом тут появилось 8880???

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Новый метод атаки на обратный прокси Apache"  +1 +/
Сообщение от pavlinux (ok) on 25-Ноя-11, 16:23 
Прочитать 20 раз: символ "@" будет воспринят как разделитель для параметров

Original:


Access to internal web server can be possible by using a crafted request like:
GET @localhost::8880 HTTP/1.0\r\n\r\n

The screenshot below shows that a basic query with the crafted request
to the target results in access to the page at 8880.

https://dum21w3618van.cloudfront.net/images/apache/fig2b.png

Upon receiving the request, Apache translates the URL by applying the rewrite rules.

The "uri" extracted is ":8880" which gets appended, resulting in the URL

http://10.40.2.159:8880

The "uri" extracted in this case is everything following the first
occurrence of the colon (:) in the request. Since the crafted request
has 2 colons (::), the second colon is treated as being part of the URI.  


Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

8. "Новый метод атаки на обратный прокси Apache"  +/
Сообщение от антоним on 25-Ноя-11, 18:41 
Атакующий может отправить запросы (символ "@" будет воспринят как разделитель для параметров аутентификации):

   GET @localhost::8880 HTTP/1.0\r\n\r\n
   GET qualys:@qqq.qq.example.com HTTP/1.0\r\n\r\n

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

Вопрос откуда во _втором_ случае появилось 8880, откуда оно в первом и так очевидно.
Хотя, пока писал, дошло что это предложение в новости составлено так коряво. Потому что "т.е."  относится к обоим случаям сразу, а не именно ко второму (...., (а ....., т.е.)). Сравните с тем что в действительности имелось в виду:


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

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

6. "Новый метод атаки на обратный прокси Apache"  +1 +/
Сообщение от Аноним (??) on 25-Ноя-11, 17:08 

> объясните каким образом тут появилось 8880???

Там два отдельных примера, с портом относится к запросу
GET @localhost::8880 HTTP/1.0\r\n\r\n

который будет преобразован в http://www.example.com@localhost::8880
часть www.example.com будет воспринята как параметры аутентификации.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

4. "Новый метод атаки на обратный прокси Apache"  –2 +/
Сообщение от pavlinux (ok) on 25-Ноя-11, 16:22 
В нормальных языках конкатенацию надо явно указывать.


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Новый метод атаки на обратный прокси Apache"  –1 +/
Сообщение от Аноним (??) on 25-Ноя-11, 18:30 
> В нормальных языках конкатенацию надо явно указывать.

Вот скажи: "блаблабла$1" - это явное указание конкатенации или нет?

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

9. "Новый метод атаки на обратный прокси Apache"  –1 +/
Сообщение от pavlinux (ok) on 25-Ноя-11, 19:01 
>> В нормальных языках конкатенацию надо явно указывать.
> Вот скажи: "блаблабла$1" - это явное указание конкатенации или нет?

Давай от обратного, как мне вывести URI содержащий знака $  

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

10. "Новый метод атаки на обратный прокси Apache"  –1 +/
Сообщение от Аноним (??) on 26-Ноя-11, 11:36 
куда вывести, зачем вывести и какие проблемы есть в ури со знаком: '$'?
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Новый метод атаки на обратный прокси Apache"  +/
Сообщение от Xasd (ok) on 26-Ноя-11, 20:38 
почему запросы начинают именно с

   RewriteRule ^(.*) ...

а не с

   RewriteRule ^\/(.*) ...

???

малоли какаи там первые символы в начале строки... и поидее мы должны *хотеть* *только* те строки которые начинаются на "/"

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру