The question is – why CLT has made it me…
I feel quite exosted after this misson, but maybe it’s a lesson for me…
First stage of this mission was simple. I found information about „==” equal problem in PHP, and wanted to write my own code to find MD5 and SHA1 hashes, but… my dear CLT suggested to looking for it in Internet.
There is fantastic page with this magic hashes: here
And of course the flag is: I’m not sure this is how equality is supposed to work.
Stage 2….
SHA256 – I know, I know… it’s very hard and I think I shouldn’t waste my time for trying to find correct literal to hash.
But…. unfortunetly it was stronger by me…
I wrote it in Python, but agter two hours I decided to not wait next thirty years for a result 😉
Misson for three point – why I made this….:
import itertools import string import hashlib import re p = re.compile("^0+[e,a,f,d]{1}[0-9]+$") test = "0e12345678901234567890123456789012345678901234567890123456789012" if p.match(test): print("Test match! ",test) for char in list(range(1, 30)): for s in itertools.product(string.printable, repeat=char): s = ''.join(s) hash_object = hashlib.sha256(s.encode('utf-8')).hexdigest() if p.match(hash_object): print(s,' - ',hash_object) |
It hurts…. 🙂
If you under 18 – don’t make it at home. I’m quite older…
Why your regex checks for e,a,f,d after the initial 0s? Would 0a match the 0e – Doesn’t this work only with 0e… due to the fact that it is an scientific notation of a number?
Cheers,
Paweł
Yes I know but i found information in one article about 0h as hex nuber and 0a was there too. I think that only scienific notation is a good way but sha with only numbers is very orphan so it’s not a problem to show it and check