Python скрипт для сопоставления хэшированных значений с данной хеш-суммой - PullRequest
0 голосов
/ 02 мая 2020

* Я наконец вспомнил, что я ел на завтрак, но я не могу вспомнить флаг этой другой проблемы. Я знаю, что это было что-то вроде FS {ha sh -I_had_corned_beef_and_hash_XXX}, где X - шестнадцатеричный символ. Я не совсем помню алгоритм хеширования для этого - sha-что-то-или-другое.

СОВЕТ: Вы не можете изменить его, но 3 X (4096 догадок) не много . тест *

1006 * Учитывая hashsum:. e3cd7044ae6747a017866021a2033014cf4a3e989b6a4b45cdacd957b338e56fe68b84d004dc60ffff9dfc7789d22fbd5116250a9436a295e8d80e460666cb79 1008 * Я уверен, что это SHA512 hashsum, поскольку его 128 символов 1010 * В моем коде я сделал ал oop, который проходит через диапазон чисел от 0 до 5000, берет каждое число в диапазоне, преобразует его в шестнадцатеричное число, убирает 0x с начала шестнадцатеричного числа, добавляет его в флаг и хэширует его, используя SHA256 и сохраняет его в переменной с именем var.

Тогда у меня есть оператор if, который проверяет, что наше хэшированное значение равно == указанному га sh, затем выводим объединенный флаг с шестнадцатеричным числом.

#!/usr/bin/env python3
import hashlib
import sys


target = "1801164d27f685dab5f83a335bf0146a"
flag = "FS{hash-I_had_corned_beef_and_hash_"
for num in range(0,5000):
    num = hex(num)
    num = num.lstrip("0x")
    #print (num)

    full_flag = flag + num + '}'
    value =(hashlib.sha512(full_flag.encode())).hexdigest()

    if value == 'e3cd7044ae6747a017866021a2033014cf4a3e989b6a4b45cdacd957b338e56fe68b84d004dc60ffff9dfc7789d22fbd5116250a9436a295e8d80e460666cb79':
        print ("FS{hash-I_had_corned_beef_and_hash_" + num + "}")

Код в конечном итоге ничего не возвращает. У кого-нибудь есть идеи?

...