Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Про целесообразность усложнения авторизации
 
 автор: IvanovIvan   (02.07.2009 в 10:48)   письмо автору
 
 

Добрый день!
Вопрос в следующем:

Есть форма авторизации

<form action="handler.php" metod="post">
<input type="text" name="login">
<input type="password" name="password">
</form>


Вместо post может быть и get, это неважно.

login и password передаются по незащищенному каналу и их можно перехватить.
Насколько это опасно?
Нужно ли усложнять процесс авторизации (например на стороне клиента хешировать или еще как нибудь)?
Просто сегодня этот вопрос задали, я и задумался.

  Ответить  
 
 автор: Valick   (02.07.2009 в 12:22)   письмо автору
 
   для: IvanovIvan   (02.07.2009 в 10:48)
 

например на стороне клиента хешировать
А смысл? подумайте чем отличается перехваченный хеш от перехваченного пароля?
___
Ответ: ничем.

  Ответить  
 
 автор: Trianon   (02.07.2009 в 12:28)   письмо автору
 
   для: Valick   (02.07.2009 в 12:22)
 

Отличия есть.
Если процедура вычисления хеша занимает ощутимое время, и пароль не самый тривиальный, то отличия эти проявляются не только в теории.

  Ответить  
 
 автор: Valick   (02.07.2009 в 13:18)   письмо автору
 
   для: Trianon   (02.07.2009 в 12:28)
 

скрипту на сервере абсолютно всё равно что из перехваченного вы ему передадите
настроен на приём пароля - хватайте пароль и отправляйте
настроен на приём хеша - хватайте хешь и отправляйте
о каком ощутимом времени идёт речь?)

  Ответить  
 
 автор: Trianon   (02.07.2009 в 13:23)   письмо автору
 
   для: Valick   (02.07.2009 в 13:18)
 

>скрипту на сервере абсолютно всё равно что из перехваченного вы ему передадите

Это смотря какому скрипту.

  Ответить  
 
 автор: Valick   (02.07.2009 в 15:02)   письмо автору
 
   для: Trianon   (02.07.2009 в 13:23)
 

а если не брать привязку к определённому IP
то что может помешать авторизоваться злоумышленнику перехватившему пароль или хеш (в данном контексте ничем не отличающийся от пароля, так как состоит из тех же буковок и циферок)?

  Ответить  
 
 автор: Trianon   (02.07.2009 в 15:36)   письмо автору
 
   для: Valick   (02.07.2009 в 15:02)
 

вот Вам пример.
Клиент хочет авторизоваться, и шлет запрос серверу.
Сервер высылает челлендж (случайную строку) , запоминая его и IP клиента
Клиент считает хеш пароля, сцепляет челлендж с хешем пароля, хеширует полученное, ответ отправляет серверу.
Сервер проверяет IP ответа, и сравнивает ответ с посчитанным на своей стороне.

а) Как Вы в этом процессе перехватите хеш пароля?
б) Чем Вам поможет перехваченный ответ клиента?

  Ответить  
 
 автор: Valick   (02.07.2009 в 15:54)   письмо автору
 
   для: Trianon   (02.07.2009 в 15:36)
 

1) сколько скриптов с реализацией такого алгоритма на этом форуме?
2) на самом деле перехват не ограничивается одним паролем, хакер может весь трафик прогнать через свой прокси, в итоге конечный скрипт будет работать с IP прокси, а для клиента будет всего лишь видимость того что сценарий нуждается в хеше клиента.
Лучший способ защититься от хакера - быть ему абсолютно ненужным.

  Ответить  
 
 автор: Trianon   (02.07.2009 в 16:06)   письмо автору
 
   для: Valick   (02.07.2009 в 15:54)
 

1) Чихать я хотел на то, сколько на этом форуме идиотов, некондиционного кода. Главное самому им не стать его не плодить.
Вопросы кошерности форума - к его владельцу.

2) допустим хакер гонит вышеописанный сеанс через свой прокси.
Как он будет аутентифицироваться в следующий раз?

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

  Ответить  
 
 автор: Valick   (02.07.2009 в 16:19)   письмо автору
 
   для: Trianon   (02.07.2009 в 16:06)
 

Как он будет аутентифицироваться в следующий раз?
обычно хватает одного раза ;)
да и что мешает? если хакер имеет все данные как от клиента так и от сервера и может делать с ними всё что захочет.. для сервера хакер является клиентом (и сервер понятия знать не знает о существовании какого-то настоящего клиента), для клиента хакер является сервером (и клиент в свою очередь думает что "всё хорошо")
В одной из книг на эту тему написано около 20 страниц, а вывод один использовать защищённое соединение для конфиденциальных данных, которое тоже не гарантирует 100% защиты, но на расшифровку перехваченного трафика нужно будет "потратиться".

  Ответить  
 
 автор: Trianon   (02.07.2009 в 16:42)   письмо автору
 
   для: Valick   (02.07.2009 в 16:19)
 

как страшно жить...

  Ответить  
 
 автор: Valick   (02.07.2009 в 17:00)   письмо автору
 
   для: Trianon   (02.07.2009 в 16:42)
 

можно детей пугать взамест бабаев и прочей нечисти в которую давно уже никто не верит...

  Ответить  
 
 автор: Рома   (05.07.2009 в 15:12)   письмо автору
 
   для: Trianon   (02.07.2009 в 15:36)
 

Просто хочу не упустить это из вида.

  Ответить  
 
 автор: Trianon   (02.07.2009 в 12:32)   письмо автору
 
   для: IvanovIvan   (02.07.2009 в 10:48)
 

>Вместо post может быть и get, это неважно.

Это важно.

  Ответить  
 
 автор: IvanovIvan   (02.07.2009 в 12:49)   письмо автору
 
   для: IvanovIvan   (02.07.2009 в 10:48)
 

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

Можно как-нибудь post посланные данные перехватить, а потом самому составить такой же точно post запрос (даже если md5 какой нибудь передается) и авторизироваться под чужим логином?

  Ответить  
 
 автор: GeorgeIV   (02.07.2009 в 14:50)   письмо автору
 
   для: IvanovIvan   (02.07.2009 в 12:49)
 

хочешь усложнить перехват, используй HTTPS

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования