Видео смотреть бесплатно

Смотреть красивое видео

Официальный сайт 4stupeni 24/7/365

Смотреть видео бесплатно

Audiophile's Blog
Логин: Пароль:


Забыл пароль | Регистрация (убрать всю рекламу)
О сайте | Ликбез | Словарь | Audiophile's Testroom | Поддержать | Контакты
Разделы
Поиск по сайту
Популярное
Персональная настройка
Настройка звука онлайн (foobar2000, драйвера, Windows), создание персональных сборок foobar2000.

Контакты

Случайный опрос
Кто вы?
Всего ответов: 2807
Полезный софт
Opera QIP 2010 Download Master µTorrent
Ace Utilities AIDA64 SpeedFan 7-Zip
ESET NOD32 FileZilla Media Player Classic Home Cinema Paint.NET
Sony Sound Forge VirtualDub Unlocker Punto Switcher
Похожие проекты
Сейчас на сайте
Онлайн всего: 6
Гостей: 6
Пользователей: 0
»

Перенос пользователей на новый движок. Как uCoz/uWeb шифрует пароли?


02 Февраля 2015, 22:05

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

Как известно, в системах uCoz/uWeb есть возможность создания файла бекапа, а также последующего восстановления данных из него. Кроме всего прочего, в архиве бекапа находятся и текстовые файлы, содержащие в себе значения полей базы данных uCoz. Как правило, это значения из таблиц материалов, комментариев, пользователей и т. д. Каждая строка в таком файле бекапа отвечает за определенный материал; значения параметров разбиты разделителем «|». Так что, предварительно определив последовательность полей, не представляет большого труда написать скрипт, импортирующий в ту же БД MySQL данные из таких текстовых файлов.

Однако, есть одно «но» и связано оно с бекапом таблицы пользователей. Пароли в базах данных, как вправило, хранятся в зашифрованном виде, и БД uCoz — не исключение. Таким образом, даже имея на руках таблицу БД, обычно невозможно определить, у какого пользователя какой пароль — в БД хранится только его хэш. Однако, это не значит, что пользователей нельзя экспортировать с паролями — вполне можно импортировать в БД эти хэши, а затем, как это обычно и делается, при входе пользователя сравнивать хэш введённого им пароля и хэш в БД. Для этого нужно только одно — знать алгоритм хэширования.

В бекапе пользователей uCoz третьим значением идёт строка, например, вот такая: $1$SIq1$Z7ujk8SsSwv/TCxmI6NzT0. Именно это значение и является хэшем пароля пользователя. Далее, как уже было сказано, встаёт вопрос: что это за хэш и как он получен? Я начал рыться в сети и обнаружил несколько страниц, где рассказывалось о скриптах (PHP), позволяющих импортировать бекап пользователей uCoz в БД движков Wordpress, Joomla, Drupal. Таким образом, мне стало очевидно, что алгоритм шифрования известен, по крайней мере разработчикам этих плагинов-скриптов.

Однако, проанализировав такие скрипты, я не смог сразу определить алгоритм хэширования. Тогда я решил обратиться в поддержку uWeb — раз алгоритм уже фактически доступен, они вполне могут мне его описать. После первых вопросов последовал ответ:

«Расшифровать пароль не представляется возможным и по понятным причинам нам также запрещено вдаваться в подробности обсуждения алгоритма шифрования паролей».

Однако, когда я объяснил, что хочу не расшифровать пароли, а просто экспортировать пользователей на другой проект, консультант взялся мне помочь, пообещав проконсультироваться у коллег.

И тут на одном из форумов я случайно наткнулся на расшифровку этой самой строки. Как оказалось, она представляет собой стандартный хэш Unix, получаемый в PHP функцией crypt(), а $1$*$ (* — любые символы) — это соль.

Я решил проверить данную теорию. Для этого я попробовал хешировать свой пароль, взяв соль из хеша uCoz, что выглядело примерно так: crypt('my_pass', '$1$SIq1$');, после чего сравнил результат с хэшем uCoz. И — бинго! —точное совпадение.

Но забавней всего, что вскоре последовал ответ техподдежки uWeb:

«Увы, такой возможности нет и быть не может».

Что ж, теперь им осталось только заблокировать мой аккаунт за разглашение конфиденциальной информации осуществление невозможного. И тем самым ускорить переезд на новый движок, на котором, как вы уже поняли, не надо будет заново регистрироваться :)


Информация от спонсора

Интерактивная проекция: нестандартные формы подачи информации. На сайте компании Вы можете ознакомиться с новой разработкой — интерактивным столом для детей, позволяющим использовать его в качестве сенсорной мультитач поверхности — в развивающих играх, программах и любых других приложениях.

 
  Tweet  
Просмотров: 1676 | Автор: | Добавил: Audiophile () | Рейтинг: 4.0/5, голосов: 4
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Авторские статьи
Сообщество
Последнее на форуме
Кодеки
TAK FLAC APE WV
MPC OGG AAC/ALAC MP3
WMA TTA OFR LA
Теги
Follow me
Twitter YouTube
Google+ Facebook
Полезные ссылки
Copyright Taras Kovrijenko © 2009–2017

Смотреть русские видео онлайн


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн