Black Byte

Black Byte 

Cyber Security

1subscriber

6posts

goals2
0 of 30 paid subscribers
30 подписчиков = новый софт.
$0 of $150 raised
На кофе )

Поиск алгоритма шифрования пароля в DevTools

Привет.
В этой статье мы будем производить поиск алгоритма шифрования пароля на сайте - Open Url .

0: Открываем "инструменты разработчика" Cntrl+Shift+I и переходи на вкладку "Network" (Сеть)
1: На форме входа заполняем поля "Account Number" и "Password" - нажимаем log in ( авторизируемся ).
2: На вкладке "Network

(Сеть)   появится запрос "login" - кликаем по нему и переходим на вкладку "Payload" (Полезная нагрузка) и видим, что поле "password" не соответсвует нашему введённому паролю.

3: Копируем значение "b7341a06dbc6581f846405fc96f9e24d" и проверяем тип хэша - например тут .
Теперь открываем любой MD5 encoder , прописываем наш пароль "blackbyte" и генерируем хэш.  "08bef23a7b3c9fecefba22d127ce055e" . - оно не совпадает с нашим значением с поля "password" а это может означать, что либо используется "Salt" ( соль ) либо это не MD5.
Соль - это случайно сгенерированная строка, которая добавляется к паролю перед его хэшированием.
4: Возвращаемся обратно к нашему запросу и переключаемся на вкладку "Initiator" .

Использование значения Initiator может помочь понять, как именно был вызван конкретный запрос на странице.
Видим несколько интересных событий- [ onSubmitSend ] и [ onSubmit ] - они являются названиями событий (events) в JavaScript, которые срабатывают при отправке формы (form) на веб-странице.
Кликаем на скрипт напротив "onSubmitSend" и попадаем в код -
5: Вспоминаем как называлось поле на вкладке "Network" ( сеть ) откуда мы копировали значение хэша - "password" .
Ищем в этом куске кода слово "password" - найдено 3 совпадения, нас интересует строчка кода - " password: this.$md5(this.$encrypt_key + o) " .
Получается, что в поле "password" записывается некий "encrypt_key" и какое то значение переменной "o". Давайте попробуем узнать, что же это за значения.
6: Ставим брейкпоинт на начало функции - ( onSubmitSend: function() ) - для этого щелкните правой кнопкой мыши напротив функции и выберите "Add breakpoint" .
Брейкпоинт - это точка останова, на которой процесс выполнения кода или программы  остановится и мы сможем увидеть, что же там происходит.
Должно получиться так:
7: На форме авторизации ещё раз нажимаем log in для авторизации.
Выполнение кода будет остановлено на нашем брейкпоинте.
Теперь нам нужно нажимать F10 -чтобы продвигаться по коду по одной инструкции за раз.
Теперь мы видим, что переменная "o" это пароль с формы авторизации.
o = this.password; 
Что-бы посмотреть значение "encrypt_key" просто наведите на него мышкой:
значение: "HKVji6PDy0D5KmEswJEezbvaVclJFF" .
Возвращаемся к строчке " password: this.$md5(this.$encrypt_key + o) "
Выходит так: HKVji6PDy0D5KmEswJEezbvaVclJFFblackbyte - пробуем сгенерировать хэш этого значения:
Сравниваем с хэшем из вкладки "Network" ( сеть ) :
Поздравляю ! Алгоритм шифрования найден.
Subscription levels4

Поддержка Автора 💻

$1.5 per month
Мне будет приятно если вы просто поддержите меня, это даёт стимул для работы.

Level 0

$7.5 per month
⚡ Поддержка автора.
✅ Каждую неделю новые публикации материалов.
🔥 Доступ к закрытому Private чату в Telegram.

Level 1337

$15 per month
⚡ Поддержка автора.
✅ Каждую неделю новые публикации.
🔥 Доступ к закрытому Private чату в Telegram.
💬 Поддержка | Помощь от автора.
💣 Участие в разработке ПО | Доступ к beta версиям ПО.

Security Patch

$50 per month
⚡ Поддержка автора.
🔥 Создание / шифрование системы. 🔥
💬 Поддержка | Помощь от автора.
✅ Доступ ко всем готовым и beta версиям ПО.
Go up