+  HandyCache форум
|-+  Главная категория» Новые предложения» Предложение по авторизации
Имя пользователя:
Пароль:
Страниц: [1]   Вниз
  Отправить эту тему    Печать  
Автор Тема: Предложение по авторизации  (Прочитано 8323 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Alexeyslav
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 29


« : 08 марта 2008, 23:49:17 »

При работающей авторизации пользователя использующего HC в локальной сети например, его регистрационные данные зачем-то отправляются сайту с которого запрашиваются данные в запросе, зачем это сделано? зачем сайту передавать параметр Proxy-Authorization когда эта строка должна вырезаться прокси сервером а дальше него распространятся не должна т.к. по ней достаточно легко можно определить пароль пользователя заведенного в HC или использовать этот код напрямую в самописной утилите чтобы использовать HC за счет этого пользователя.

вот лог запроса с сайта куда я захожу при помощи HC:

> GET /images1.html HTTP/1.1
> Accept: image/png, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
> Accept-Language: en
> Host: 192.168.0.1
> User-Agent: Mozilla/4.08 (PDA; NF32PPC3AR/1.01) NetFront/3.2
> Referer: http://192.168.0.1/
> Proxy-Authorization: Basic QWxleGV5OjU1MTc4ODI1
> Pragma: no-cache
> Cache-Control: no-cache
> Connection: Keep-Alive

т.о. кинув коллегам по работе ссылку на свой сайт соберешь все их пароли ... а что с ними потом можно будет сделать, остается на совести собирающего.



 Отлично! Исправлено с версии HC 1.0 RC1 1.0.0.64...
« Последнее редактирование: 17 июня 2008, 19:52:11 от DenZzz » Сообщить модератору   Записан
Сергей
Beta tester
*****

Репутация: +9/-2
Offline Offline

Сообщений: 621



« Ответ #1 : 09 марта 2008, 09:37:29 »

Да, это либо недоработка либо баг. Надо исправить.
Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #2 : 10 марта 2008, 11:22:50 »

зачем это сделано?

Для того, чтобы клиент мог сам авторизоваться на внешних прокси при работе через HC.
HC поддерживает пока только Basic-авторизацию, а внешний прокси может требовать, например, Digest, поэтому сейчас HC не мешает браузеру самому авторизоваться на внешнем прокси.

Но я согласен с тем, что "Proxy-Authorization" надо удалять, если HC уже удачно сам авторизовал по нему пользователя.


P.S. Когда в скриптах появится обработка заголовков запроса, то можно будет настроить удаление всех "Proxy-Authorization", хотя "разумное удаление" (см. абзац выше) нравится мне больше...
Сообщить модератору   Записан
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #3 : 10 марта 2008, 12:08:01 »

Alexeyslav
Цитировать
по ней достаточно легко можно определить пароль пользователя заведенного в HC
Не погружался в эту тему глубоко, это точное утверждение?
DenZzz
Цитировать
Но я согласен с тем, что "Proxy-Authorization" надо удалять, если HC уже удачно сам авторизовал по нему пользователя.
Возможен такой вариант, но и можно гипотетически представить себе вариант, когда пользователь имеет одну и ту же пару логин/пароль для НС и для внешнего прокси.
Сообщить модератору   Записан
Alexeyslav
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 29


« Ответ #4 : 10 марта 2008, 17:58:13 »

Поскольку строка зависит от логина и пароля, то она представляет собой готовую для авторизации последовательность, если уж не выяснить по ней пароль (или подобрать как это делают с MD5) то её не изменяя с легкостью можно использовать для авторизации на прокси добавляя эту строку в каждый запрос с помощью спец. утилит или возможностью браузера добавлять произвольное поле в запрос. В любом случае этим светить сайту на который заходишь не следует.

Цитировать
Возможен такой вариант, но и можно гипотетически представить себе вариант, когда пользователь имеет одну и ту же пару логин/пароль для НС и для внешнего прокси.

Против этого не поспоришь, но ведь HC знает есть ли вообще за ним еще прокси, а так же это является примером настройки безопасности "как нельзя делать". Осталось еще от ящика почтового такой же логин/пароль и от учетной записи в виндовс...
и тогда всеравно не понятно как будет HC действовать если нужна авторизация для внешнего прокси и для него самого? неужели в запрос браузер должен будет вставить две такие стоки? внешнему прокси ведь всеравно надо отдать запрос с одной авторизацией, иначе он может запутаться или решить что таким образом производится подбор пароля...
Сообщить модератору   Записан
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #5 : 10 марта 2008, 18:17:21 »

Цитировать
Поскольку строка зависит от логина и пароля, то она представляет собой готовую для авторизации последовательность, если уж не выяснить по ней пароль (или подобрать как это делают с MD5) то её не изменяя с легкостью можно использовать для авторизации на прокси добавляя эту строку в каждый запрос
Согласен, оставлять как есть нельзя. Тогда, наверное, сделаю как предложил DenZzz. Или есть другие предложения?
Сообщить модератору   Записан
realcleric
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 2


« Ответ #6 : 26 апреля 2008, 13:17:53 »

Цитировать
Поскольку строка зависит от логина и пароля, то она представляет собой готовую для авторизации последовательность, если уж не выяснить по ней пароль (или подобрать как это делают с MD5) то её не изменяя с легкостью можно использовать для авторизации на прокси добавляя эту строку в каждый запрос
Basic авторизация это ни что иное как логин и пароль в формате base64. Стыдно этого не знать, тем более разработчику!

Код:
print base64_decode ('QWxleGV5OjU1MTc4ODI1'); # Alexey:55178825
Сообщить модератору   Записан
Alexeyslav
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 29


« Ответ #7 : 26 апреля 2008, 13:31:02 »

Хм, все даже еще проще ... впрочем, этот пароль не столь важен, это всего лишь пароль от прокси-сервера и привязан к конкретному месту ... а не от почты какой-нибудь. Но конечно так оставлять нельзя!
Сообщить модератору   Записан
Страниц: [1]   Вверх
  Отправить эту тему    Печать  

 
Перейти в: