Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 25, 2006 10:43:08

koder
От:
Зарегистрирован: 2006-09-29
Сообщения: 95
Репутация: +  0  -
Профиль   Отправить e-mail  

Sessions

from inetSVN/Django/django/contrib/auth/models.py:
======================================================
def check_password(raw_password, enc_password):
“”“
Returns a boolean of whether the raw_password was correct. Handles
encryption formats behind the scenes.
”“”
algo, salt, hsh = enc_password.split('$')
if algo == ‘md5’:
import md5
return hsh == md5.new(salt+raw_password).hexdigest()
elif algo == ‘sha1’:
import sha
return hsh == sha.new(salt+raw_password).hexdigest()
raise ValueError, “Got unknown password algorithm type in password.”
======================================================
Т.е.
1)Поддерживаются два алгоритма MD5 и SHA1 и они могут использоватся одновременно
(для разных паролей). Правда в свете того что MD5 уже почти год как поломали реально
можно только sha1 использовать.
2)Прикручен salt - это означает что у двух одинаковых паролей хеши в базе будут разные
======================================================



Отредактировано (Окт. 25, 2006 10:45:32)

Офлайн

#2 Окт. 25, 2006 14:16:52

niro
От:
Зарегистрирован: 2006-10-04
Сообщения: 178
Репутация: +  0  -
Профиль   Отправить e-mail  

Sessions

СТОП, я уже давно справился со своей проблемой: в базе sqlite список юзеров и паролей , чел вводит логин пасс , из базы звлекается по логину пасс (md5hash) и сверяется с введенным (переведенным в md5hash) паролем , отправляется кук с логином и паролем , и все , чел заходит на спец пагу , у него сразу берутся куки и сверяются , если все ок , то выполняется пага , если нет , то нет …
Вот вопрос , как перенаправлять на определеный адрес (в пыхпых это было типа location()) , а тут как ?

P.s. заметил , что если я задаю вопрос , то пораждаю всяки флейм :)



Отредактировано (Окт. 25, 2006 14:25:47)

Офлайн

#3 Окт. 25, 2006 14:18:30

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Sessions

koder
sha1 поломали ещё раньше))
зы: мд5 здесь с салтом;) его не поломаешь ни радужными табличками ни брутом (если пароль хотя бы 7-8 символов), они очень медленно брутятся

Офлайн

#4 Окт. 25, 2006 14:26:57

niro
От:
Зарегистрирован: 2006-10-04
Сообщения: 178
Репутация: +  0  -
Профиль   Отправить e-mail  

Sessions

в свое время пытался брутать пассы , заметил , если пароль больше 6 символов и состоит из бук в цифр , то брут займет очень долгое время



Отредактировано (Окт. 25, 2006 14:27:21)

Офлайн

#5 Окт. 25, 2006 14:46:40

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

Sessions

niro
Вот вопрос , как перенаправлять на определеный адрес (в пыхпых это было типа location()) , а тут как ?
http://python.com.ua/forum/viewtopic.php?id=54



Офлайн

#6 Окт. 25, 2006 14:56:49

koder
От:
Зарегистрирован: 2006-09-29
Сообщения: 95
Репутация: +  0  -
Профиль   Отправить e-mail  

Sessions

niro
Вот вопрос , как перенаправлять на определеный адрес
Если из чистого питона то формируй ответ 302(FOUND) или 307(TEMPORARY_REDIRECT).
=================================
HTTP/1.0 302
Location: http://kuda.tam.perenapravit/
bla-bla-bla
=================================
Глянь в доке питона 18.7 httplib – HTTP protocol client, там есть и ссылка на раздел соотв. RFC.
И еще - я бы на твоем месте md5 не использовал, он конечно улучшает ситуацию но sha использовать
точно так-же а толку больше.
slav0nic
зы: мд5 здесь с салтом;) его не поломаешь ни радужными табличками ни брутом (если пароль хотя бы 7-8 символов), они очень медленно брутятся
niro
в свое время пытался брутать пассы , заметил , если пароль больше 6 символов и состоит из бук в цифр , то брут займет очень долгое время
Никто про брут не говорит(и про rainbow tables тоже) - для md5 есть реверсирующий алгоритм (очень быстро находит текст, дающий необходимый md5) и salt тут не поможет - просто он задается алгоритму в качестве стартового значения и никак не влияет на сложность взлома.
http://passcrack.spb.ru/
http://www.linux.org.ru/view-message.jsp?msgid=1158328
http://www.linux.org.ru/view-message.jsp?msgid=1087394
http://ru.wikipedia.org/wiki/MD5 - желающим отсюда ковырять.
Для SHA1 нашли только способ снижения сложности с 128 эффективных бит до 80, но даже 80 бит
для брута - нереально. В python2.5 есть sha512 - рекомендую ;). И пусть брутеры подавятся :) !



Отредактировано (Окт. 25, 2006 16:06:23)

Офлайн

#7 Окт. 25, 2006 15:32:39

koder
От:
Зарегистрирован: 2006-09-29
Сообщения: 95
Репутация: +  0  -
Профиль   Отправить e-mail  

Sessions

koder
Для SHA1 нашли только способ снижения сложности с 128 эффективных бит до 80
Тут я абшибсо, точнее недоследил :(. sha1 уже тоже почил с миром R.I.P. .
Но в качестве вар. можно sha1(или md5) снимать несколько раз, или pyCrypto воспользоватся.



Отредактировано (Окт. 25, 2006 15:58:43)

Офлайн

#8 Окт. 26, 2006 08:08:55

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

Sessions

pythonwin
в стандартном алгоритме идентификации (который описан на оф. чайте) никакого шифрования нет, хотя должен быть способ как дописать алгоритм, чтобы в БД хранился шифрованный пароль, а не открытый, как в стандартном.
Возможно уже есть такой код, но к сожелению пока я о нем я не знаю.
pythonwin
пароль действительно храниться в БД ОТКРЫТЫМ, но через инет пользователям отправляется/принимается “ключ” и “код” сессии, с самим же паролем работает только сервер.
Ура, я был не прав!

koder
Если в таблице хранится открытым текстом пароль то это очень паршиво, независимо от того
передается он по сети или нет. Это означает что админ может его без проблем подсмотреть
(чужой а не только свой). А многие люди(например я) используют один пароль во многих местах
(не везде конечно, но во многих), ну в общем на эту тему уже написанно неимоверно много(“да только все невпрок” текст (с)Крылов). И в случае SQL-injection(или другого взлома ) все закончится не дефейсом а куда более плачевно. Интересно что они(разарботчики TG) по этому поводу говорят.
koder
последний пост как раз об этом но что-то писаки молчат.
Identification in TG. Work with encipher the password.



Офлайн

#9 Окт. 26, 2006 11:17:51

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Sessions

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

поиск коллизий круто, но оно позволяет найти 2 сообщения с одинаковыми хэшам, а не сломать хэш;) так что спите спокойно=)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version