ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Безопасность и Уязвимости > Уязвимости > Расшифровка хешей
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Хэш от кириллицы в разных кодировках?!
  #1  
Старый 07.11.2008, 12:27
Аватар для -=lebed=-
-=lebed=-
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме:
12702287

Репутация: 4738


По умолчанию Хэш от кириллицы в разных кодировках?!

Вообщем возник вопрос из-за разных кодировок такого плана. Как известно хэш вычисляется от сообщения, т.е на вход подаётся набор байт на самом деле а не набор символов...
Допустим мы имеем текст пароль он в кодировке 1251 занимает 6 байт. Вычисляем MD5 хэш, получаем: 749789e4982b0c563f6729aac100a614
Далее мы имеем этот же текст пароль в кодировке UTF8, он уже займёт 12 байт пароль - показано как он выглядит в CP1251
Вычисленный хэш e242f36f4f95f12966da8fa2efd59992

Как видим хэши разные (ну это так и должно быть потому как разные байты и разное их количество) а вот пароль-то один "пароль"

Вопрос такой: от чего будет вычисляться в PHP5 MD5 хэш если на вход подаётся пасс в кириллице в кодировке UTF8?
от 12-ти? Либо перед вычисление произойдёт преобразование из UTF8 в CP1251 ? и будет посчитан хэш уже от 6 байтов?

Последний раз редактировалось -=lebed=-; 07.11.2008 в 12:58..
 
Ответить с цитированием

  #2  
Старый 07.11.2008, 13:08
Аватар для nerezus
nerezus
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме:
6490435

Репутация: 2290


Отправить сообщение для nerezus с помощью ICQ
По умолчанию

Эта функция работает с бинарными данными, а не со строками определенных кодировок.
 
Ответить с цитированием

  #3  
Старый 07.11.2008, 15:13
Аватар для -=lebed=-
-=lebed=-
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме:
12702287

Репутация: 4738


По умолчанию

Цитата:
Сообщение от nerezus  
Эта функция работает с бинарными данными, а не со строками определенных кодировок.
Да что ты говоришь?
Код:
Функция md5 в PHP — Возвращает MD5 хэш строки
Синтаксис
string md5 (string str [, bool raw_output])
Я знаю как работает функция и даже знаю что такое "так называемые бинарные данные " Мне нужен ответ на мой вопрос! Ты вообще его понял?
PHP код:
<?php
$str 
'apple';

if (
md5($str) === '1f3870be274f6c49b3e31a0c6728957f') {
    echo 
"Would you like a green or red apple?";
    exit;
}
?>
Ты мне хочешь сказать, что результат не будет
зависеть от того как кодирована переменная $str?
 
Ответить с цитированием

  #4  
Старый 07.11.2008, 15:31
Аватар для preda1or
preda1or
Участник форума
Регистрация: 27.10.2008
Сообщений: 278
Провел на форуме:
1495545

Репутация: 242
Отправить сообщение для preda1or с помощью ICQ
По умолчанию

Насколько я знаю, может и ошибаюсь, перед тем как выполняеться md5($string),
$string->utf8 переводиться автоматом.
 
Ответить с цитированием

  #5  
Старый 07.11.2008, 15:53
Аватар для -=lebed=-
-=lebed=-
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме:
12702287

Репутация: 4738


По умолчанию

Цитата:
Сообщение от preda1or  
Насколько я знаю, может и ошибаюсь, перед тем как выполняеться md5($string),
$string->utf8 переводиться автоматом.
Вы уверены что так? Вычислите для проверки хэши от числа в HEX для UTF8 и CP1251, интересно всё же что подаётся на вход байты от 1251 или от UTF8
И БЕРИТЕ КИРИЛИЦУ! а не латиницу!
Вот так:
$STR="Опля!"
P.S. Тоже мне, сравнили лысую овцу с не постриженной... конечно хэш будет один, потому как в латинице строка в UTF8 та же самая что и в CP1251
PHP код:
<?php 
$str 
'Опля!'
echo 
'CP-1251: '.md5($str)."\n"
echo 
'UTF-8: '.md5(iconv('windows-1251','utf-8',$str)); 
?>
- проверьте это...

Ну и...
Код:
CP-1251: 332bad7fc1f78b3558316280addda510
UTF-8: cd025bd5b1f060a279e5785b490e05d0
Так что думайте сами... иметь или не иметь...

Бля, в досовской походу набил по русски, вот правильно:
Код:
CP-1251: 53eb707315810a6b5093bc9a79e0fbfe
UTF-8: 42b2e98b197fd516ef29530fb37ee03f
Смотрим, что даёт PasswordsPro на Опля!
53eb707315810a6b5093bc9a79e0fbfe

Что даёт хэшкрэкинг?
53eb707315810a6b5093bc9a79e0fbfe

Что passcracking.com?
- чёт не отвечает...
insidepro.com?
- К сожелению не поддерживает...

Последний раз редактировалось -=lebed=-; 07.11.2008 в 16:09..
 
Ответить с цитированием

  #6  
Старый 07.11.2008, 16:47
Аватар для preda1or
preda1or
Участник форума
Регистрация: 27.10.2008
Сообщений: 278
Провел на форуме:
1495545

Репутация: 242
Отправить сообщение для preda1or с помощью ICQ
По умолчанию

-=lebed=- зацепили вы меня этим вопросом... заинтересовали...будем думать....
 
Ответить с цитированием

  #7  
Старый 07.11.2008, 16:53
Аватар для preda1or
preda1or
Участник форума
Регистрация: 27.10.2008
Сообщений: 278
Провел на форуме:
1495545

Репутация: 242
Отправить сообщение для preda1or с помощью ICQ
По умолчанию

Цитата:
Работающие в PHP кодировки:
ISO-8859-*, EUC-JP, UTF-8
Установки php.ini
Цитата:
;; Установить внутреннюю кодировку по умолчанию
;; Примечание: Используйте кодировку символов, которая работает с PHP
mbstring.internal_encoding = UTF-8 ; Установить внутреннюю кодировку UTF-8

;; Установить кодировку символов по умолчанию для HTTP-ввода
;; Примечание: Скрипт не может изменить установку http_input
mbstring.http_input = pass ; Нет конвертации
mbstring.http_input = auto ; Установить HTTP-ввод в auto
; "auto" расширяется до "ASCII,JIS,UTF-8,EUC-JP,SJIS"
mbstring.http_input = SJIS ; Установить HTTP2-ввод в SJIS
mbstring.http_input = UTF-8,SJIS,EUC-JP ; Специфицировать порядок

;; Установить кодировку символов по умолчанию для HTTP-вывода
mbstring.http_output = pass ; Нет конвертации
mbstring.http_output = UTF-8 ; Установить кодировку HTTP-вывода в UTF-8

;; Установить порядок определения кодировки символов по умолчанию
mbstring.detect_order = auto ; Установить порядок определения в auto
mbstring.detect_order = ASCII,JIS,UTF-8,SJIS,EUC-JP ; Специфицировать порядок

;; Установить замещающий символ по умолчанию
mbstring.substitute_character = 12307 ; Специфицировать значение Unicode
mbstring.substitute_character = none ; Не печатать символ
mbstring.substitute_character = long ; Long-Пример: U+3000,JIS+7E7E
 
Ответить с цитированием

  #8  
Старый 07.11.2008, 16:54
Аватар для -=lebed=-
-=lebed=-
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме:
12702287

Репутация: 4738


По умолчанию

Цитата:
Сообщение от preda1or  
-=lebed=- зацепили вы меня этим вопросом... заинтересовали...будем думать....
Смотрите сами, и потом не говорите что не знали!
PHP код:
<?php  
$str 
'Опля!';  
$CP1251HEX=bin2hex($str);
$UTF8HEX=bin2hex(iconv('windows-1251','utf-8',$str));
echo 
'CP-1251: '.md5($str)."<br>";
echo 
'CP-1251 (hex): '.md5(pack("H*"$CP1251HEX))."<br>";  
echo 
'UTF-8: '.md5(iconv('windows-1251','utf-8',$str))."<br>"
echo 
'UTF-8 (hex): '.md5(pack("H*"$UTF8HEX))."<br>"
echo 
"БИНАРНЫЕ ДАННЫЕ <b>".$CP1251HEX."</b> И <b>".$UTF8HEX."</b> НЕ РАВНЫ ДЛЯ СТРОК КИРИЛЛИЦЫ В РАЗНЫХ КОДИРОВКАХ, ПОЭТОМУ И ХЭШИ РАЗНЫЕ!<br>";
echo 
'Нихрена ничего не преобразовывается на автомате (кроме латиницы, потому как коды просто совпадают)!<br>';
echo 
'Тайна нерасшифровывающихся хэшей раскрыта! походу это пассы в национальных UT8 с кодировкой в два байта!<br>Вообщем PasswordsPro курит в сторонке, потому как 5-значный пароль достаточно стойкий в нац. символах в кодировке UTF8!<br>';
echo 
iconv('utf-8','windows-1251''Нерезус Рё Р“СЂРёРёРЅР±РёСЂ Р›РђРњРћ!');
?>

Последний раз редактировалось -=lebed=-; 07.11.2008 в 17:05..
 
Ответить с цитированием

  #9  
Старый 07.11.2008, 16:54
Аватар для preda1or
preda1or
Участник форума
Регистрация: 27.10.2008
Сообщений: 278
Провел на форуме:
1495545

Репутация: 242
Отправить сообщение для preda1or с помощью ICQ
По умолчанию

ничего не говорит вышестоящий мой пост?)

p.s. echo iconv('utf-8','windows-1251', 'Нерезус и Гриинбир ЛАМО!');
зачетная строчка...)

Последний раз редактировалось preda1or; 07.11.2008 в 17:10..
 
Ответить с цитированием

  #10  
Старый 07.11.2008, 17:08
Аватар для -=lebed=-
-=lebed=-
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме:
12702287

Репутация: 4738


По умолчанию

Цитата:
Сообщение от preda1or  
ничего не говорит вышестоящий мой пост?)
Угу, как лодочку настроишь, так она и поплывёт...
P.S. Придётся заложить ещё брут нац. символов (кириллица) в кодировке UTF8 в новом движке сервиса - ведь неизвестно как настроен php на конкретном взятом сайте!... соответсвенно хэши могут быть вычисленны от паролей как я описал в примерах выше...

Последний раз редактировалось -=lebed=-; 07.11.2008 в 17:14..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Большой Faq для новичков Robin_Hood Статьи 3 20.06.2008 10:07
Расшифровка hash. Part1 (MD5) Isis Расшифровка хешей 3086 16.04.2008 21:35
Что это за хэш? Proxy Hunter Расшифровка хешей 12 20.12.2005 13:04
Одинаковые Хэши у мембера 1 на разных форумах ? darks Форумы 2 20.11.2005 00:02



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ