Сканер Python расширенный JS обратный вход beibei.com

Python

Здравствуй, большая цзя, пора снова практиковаться Это первая реверсивная статья, которой я поделился с тобой. Предыдущие статьи захлопнулись ниже:

Введение в JS, обратный Python Crawler

JS обратный вход в новый список

JS Reverse Air China Войти

JS обратный вход в телеком

Говорят, что люди, которые хорошо выглядят, в конце концов становятся еще лучше! Что ж, давайте перейдем к делу, это сайт, который мы собираемся взломать сегодня:no.bebe.com/логин/логин…

анализировать

Я думаю, что необходимо изучить инструменты разработчика Chrome, ведь если вы хотите преуспеть, вы должны сначала отточить свои инструменты. Хорошо поработайте со сканерами, хорошо поработайте над реверс-инжинирингом JS, а инструменты — в первую очередь. Сначала посмотрите на ситуацию с захватом:

image

Это окончательный запрос на вход, пароль «что?» на самом деле представлен в виде простого текста, а контрольный код — это код подтверждения изображения, поэтому имеется только один параметр шифрования — beibeitoekn. Не торопите шаттл и ищите параметры шифрования, как только увидите их. Во-первых, нажмите на данные запроса всего процесса, потому что иногда параметры шифрования возвращаются в предыдущем ответе на запрос.Например, этот тип чувствительного ко времени токена обычно используется сервером для проверки и отправляется клиенту Сначала выполните POST на сервер, а затем проверьте на сервере

image
просить

image
отклик

Итак~, в конце концов, наше направление - взломать первый запрос.В мгновение ока в данных формы нет зашифрованных параметров. Обратите внимание, что выше есть ParamsabrПараметры шифрования, главное взломать

трескаться

Это запрос XHR, с которым легко справиться! Нажмите точку останова XHR напрямую:

image
следующая точка останова

следующая точка останова

После повторного входа в систему вы увидите, что запрос был прерван.

image

Еще несколько кликов вниз, и вы сможете публиковать ключевые моменты

image

Окончательный результат генерируется функцией m, щелкните по ней и установите точку останова.

image

Повторно отправить запрос:

image

Не обращайте внимания на первые несколько функций шифрования, это простое преобразование, фокус находится на l["default"], найдите расположение функции, щелкните по ней.

image

Далее мы официально введем ссылку вычета.

image

Продолжайте идти вниз, обратите внимание, чтобы найти ключевые места

image

Там четко обозначено, какой код нужно вычесть! Вы ненавидите слишком много волос? ? ? Приходите проверить первым! Это параметр, который мы передали в прошлом, запишите его

image

Затем мы используем код Python для его реализации.

1>>> ts = "username=17775731459&scene=h5_login&rams_device_id=2972225991"
2>>> import hashlib
3>>> res = hashlib.md5(ts.encode("utf-8")).hexdigest()
4>>> res
5 '8afdca35566e68fd7821aed42cab7ae0'

Перейдите к выходу браузера, чтобы просмотреть результаты

image

Бинго! Это конец?? Рано радоваться, и есть еще один шаг к шифрованию

image

Такое же ощущение! Это также называется модуль шифрования! Каков результат, пожалуйста, продолжайте смотреть вниз

image

Структура кода очень похожа!

1 a.HMAC = r.extend()

ХМАК! Это также алгоритм хеширования, Hmac очень похож на обычный алгоритм хеширования. Длина вывода Hmac такая же, как длина исходного алгоритма хеширования. Модуль Hmac, поставляемый с Python, также реализует стандартный алгоритм Hmac.

image

Для тех же волос я решил отказаться от кода вывода и реализовать его непосредственно на Python. Сначала узнайте входящие параметры и соль.Входящие параметры генерируются на предыдущем шаге.В исходном тексте функции шифрования, вызываемой солью, вы можете увидеть вывод.

image

На Python реализовано следующее:

1 import hamc
2
3 def c(g, key):
4    return hmac.new(key.encode("utf-8"), msg=g.encode("utf-8"), digestmod=hashlib.sha1).hexdigest()

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

image

Суммировать

Для зашифрованного JS-кода можно максимально использовать алгоритм шифрования в Python. На самом деле это своего рода секрет против выпадения волос.Конечно, если у вас много волос, вы можете игнорировать это и попытаться вычесть код JS, это не невозможно!

Публичный номер: [Программирование на Python и реальный бой] Добро пожаловать, обратите внимание