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

Разное

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

 

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

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

тема: В чем смысл шифрования MD5 ?
 
 автор: Владимир55   (23.09.2008 в 19:37)   письмо автору
 
 

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

Но какой от этого толк?

Если передавать отпечаток пароля и его перехватит злоумышленник, то он этот отпечаток использует точно также, как использовал бы пароль. Собственно, он даже и не почувствует разницу.

Разве не так?

  Ответить  
 
 автор: SHAman   (23.09.2008 в 19:57)   письмо автору
 
   для: Владимир55   (23.09.2008 в 19:37)
 

Не надо отпечаток никуда передавать. Юзер задает пароль. Делаете MD5, пишете в базу.

Юзер вводит пароль. Вы делаете MD5 и сравниваете его с тем, что лежит в базе. Если совпадает - верный пароль.

Нужно это для того, чтобы если базу утянут, пароли все равно были бы зашифрованы.

  Ответить  
 
 автор: BinLaden   (23.09.2008 в 20:09)   письмо автору
 
   для: SHAman   (23.09.2008 в 19:57)
 

> пароли все равно были бы зашифрованы

Ну ничего, ничего аглоритм MD5 не шифрует. Пусть одни выражаются неверно - следовать за ними не стоит.

  Ответить  
 
 автор: Владимир55   (23.09.2008 в 20:09)   письмо автору
 
   для: SHAman   (23.09.2008 в 19:57)
 

"Нужно это для того, чтобы если базу утянут, пароли все равно были бы зашифрованы."
Если для этого, то понятно.

А у меня такая задача.

Платежная система в адресной строке передает мне сообщение, в котором (для безопасности) может быть дополнительно передан ключ. Этот ключ може быть передан и в прямом виде, и в зашифрованном MD5.

Если злоумышленник хоть один раз такой урл увидит, то он может вызывать файл с этим урлом сколько угодно, и мой сайт будет считать все вызовы оплаченными.

Вот я и думаю - какой толк от этого шифрования?

  Ответить  
 
 автор: Valick   (23.09.2008 в 22:58)   письмо автору
 
   для: Владимир55   (23.09.2008 в 20:09)
 

Не надо передавать в УРЛ всё подряд. При проведении платежа требуйте повторного ввода пароля и передавайте его методом ПОСТ. А также для защиты от подделки формы нужно передавать скрытыми полями определённый краткосрочный (разовый) шифр или хеш.

  Ответить  
 
 автор: Владимир55   (23.09.2008 в 23:11)   письмо автору
 
   для: Valick   (23.09.2008 в 22:58)
 

"Не надо передавать в УРЛ всё подряд"

Я не могу диктовать платежной системе, что ей делать. Это система указывает своим клиентам (и мне в том числе), что она передает, и как на это реагировать.

  Ответить  
 
 автор: Valick   (24.09.2008 в 07:21)   письмо автору
 
   для: Владимир55   (23.09.2008 в 23:11)
 

Упс)

  Ответить  
 
 автор: Loki   (24.09.2008 в 09:25)   письмо автору
 
   для: Владимир55   (23.09.2008 в 23:11)
 

>Это система указывает своим клиентам
Либо Вы что-то неправильно поняли, либо не надо пользоваться этой платежной системой. В любом случае, наверняка этот код либо разовый, либо предназначен для прямой передачи между серверами (без всяких броузеров).

  Ответить  
 
 автор: Владимир55   (24.09.2008 в 22:08)   письмо автору
 
   для: Loki   (24.09.2008 в 09:25)
 

"не надо пользоваться этой платежной системой"

Я тут посмотрел под этим углом зрения некоторые системы, и обнаружил, что сие свойственно и ВЭБмани, и coins...

  Ответить  
 
 автор: ddhvvn   (24.09.2008 в 23:52)   письмо автору
 
   для: Владимир55   (24.09.2008 в 22:08)
 

Значит, все-таки Вы неправильно поняли! =)

Попробуйте прочитать и разобраться еще раз!

  Ответить  
 
 автор: Владимир55   (25.09.2008 в 01:21)   письмо автору
 
   для: ddhvvn   (24.09.2008 в 23:52)
 

Чего там разбираться, когда они у меня обе работают!

  Ответить  
 
 автор: Loki   (25.09.2008 в 10:22)   письмо автору
 
   для: Владимир55   (24.09.2008 в 22:08)
 

Мне приходилось писать клиентов под веб мани. Вы что-то не правильно поняли.

Я кажется догадываюсь о чем вы.
Когда вы приходите в магазин, оплачиваете в кассе товар, подходите к продавцу и получаете покупку - что он делает с чеком?:)

  Ответить  
 
 автор: Владимир55   (25.09.2008 в 13:51)   письмо автору
 
   для: Loki   (25.09.2008 в 10:22)
 

Вот реальное обращение платежной системы к сайту:

http://site.ru/sts.php?smsid=122684.6179&num=3766&operator=st&operator_id=0&acr=2000&user_id=1289&cost=0.01&msg=81148%20st%20message&skey=q89877we4rty5uio

Последняя переменная - ключ-пароль доступа. Его можно зашифровать по МД5 (такую возможность предоставляет платежная систему), а можно и не зашифровывать.

Какой толк от шифрования?

  Ответить  
 
 автор: ddhvvn   (25.09.2008 в 15:35)   письмо автору
 
   для: Владимир55   (25.09.2008 в 13:51)
 

Опять же странно, что же у вас там за платежная система такая? Скажите уже, что там секретного =))

Знаю E-Gold, WM, Yandex - везде данные передаются ПОСТ методом.
Единственно, не знаю что сейчас с RBK Money, но думаю там тоже все должно быть хорошо!

Остальные системы, по-моему, лучше не использовать!

  Ответить  
 
 автор: ddhvvn   (25.09.2008 в 15:48)   письмо автору
 
   для: Владимир55   (25.09.2008 в 13:51)
 

Что же касается "ключа" и "хэша"...

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

Потому что в нормальных системах (принцип у всех примено одинаков) есть и ключ, и хэш! (есть этог не значит, что они вместе передаются)
Хеш - это не "слепок" ключа, а "слепок" всех передаваемых данных!

Все данные (номер платежа, сумма, кошелек/уин и др. параметры плюс ключ) склеиваются в одну строку, от которой и получают md5 хэш.
Но, сам ключ НЕ ПЕРЕДАЕТСЯ!

Допустим, злоумышленник подделал некоторые данные и сформмировал ложны хэш. Но секретный то ключ знаете только Вы и только система! Вы его не передаете!

Следовательно, хеш уже не совпадает. И все - на этом "сделка" заканчивается.
Это я рассказал на примере ВМ. Надеюсь понятно рассказал! )

Выводы только за Вами! =))

  Ответить  
 
 автор: Владимир55   (25.09.2008 в 16:36)   письмо автору
 
   для: ddhvvn   (25.09.2008 в 15:48)
 

Я говорю о системе "Русский билдинг"

"Хеш - это ... "слепок" всех передаваемых данных!"
Похоже, что в этом и суть защиты. Теперь припоминаю, что когда подключался к какой-то банковской системе, то уже склеивал множество параметров в строку.

Спасибо!

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

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