Uitleg
Om deze puzzel op te lossen moet de sha-256 achterhaald worden.
Natuurlijk is dit vrijwel onmogelijk zonder wat hints:
- De basis-url is gegeven in base-64 formaat. Deze geeft na het decoderen: https://pastebin.com/raw/
- De eerste 5 characters na deze url zijn al gegeven in "hex" formaat. Deze geven: f3JEN (dus totaal al https://pastebin.com/raw/f3JEN)
- Nu missen er nog 3 characters (aangegeven als sixth, seventh en eight).
Deze kunnen gevonden worden aan de hand van een bruteforce-script. Hier zijn meerdere variaties voor mogelijk. Wij hebben deze gebruikt:
def brute(string, length, charset):
if len(string) == length:
return
for char in charset:
temp = string + char
full_string = res + suffix + temp
if hashlib.sha256(full_string.encode()).hexdigest() == hash:
print(full_string)
return
brute(temp, length, charset)
Zie hier dan ook dat het bij elke iteratie checkt of de sha256 code hetzelfde is als de bruteforce, en hem dan print
De oplossing is dan:
https://pastebin.com/f3JENERu
Natuurlijk is dit vrijwel onmogelijk zonder wat hints:
- De basis-url is gegeven in base-64 formaat. Deze geeft na het decoderen: https://pastebin.com/raw/
- De eerste 5 characters na deze url zijn al gegeven in "hex" formaat. Deze geven: f3JEN (dus totaal al https://pastebin.com/raw/f3JEN)
- Nu missen er nog 3 characters (aangegeven als sixth, seventh en eight).
Deze kunnen gevonden worden aan de hand van een bruteforce-script. Hier zijn meerdere variaties voor mogelijk. Wij hebben deze gebruikt:
def brute(string, length, charset):
if len(string) == length:
return
for char in charset:
temp = string + char
full_string = res + suffix + temp
if hashlib.sha256(full_string.encode()).hexdigest() == hash:
print(full_string)
return
brute(temp, length, charset)
Zie hier dan ook dat het bij elke iteratie checkt of de sha256 code hetzelfde is als de bruteforce, en hem dan print
De oplossing is dan:
https://pastebin.com/f3JENERu