ASIS 2014 final # Crypto – PTOT

URL: http://asis-ctf.ir/challenges/
Type: crypto / stego
Solution: ASIS_c9a1cd21db5d38923562fccabbca808c
 


Description
Find flag in the image (PTOT_1d23c8694e5cf6727b9ed21285a0d61f)!


First you have to find what is the given image :
PTOT

Google images is your friend and you will quickly find some interesting links like this one for example:
http://www.voiceonapage.com/ProjectsTypography/Typeface Poster/PTOT.pdf
So PTOT stands for Periodic Table Of Typefaces. You can notice in the challenge image that some typefaces are in the wrong place, and some appear 2 or 3 times…
So let’s spot the differences (original rank ⇢ crypto rank | crypto symbol):
PTOT_differencesThere is 45 differences which is a bit longer than the usual ‘ASIS_md5()‘ flag which is 37 chars length. After numerous tries, we noticed something. If we concat all these numbers, convert them to hex value and then decode the hex string to plain ASCII we have a 36 chars length string… ending with something like md5 values ‘ca808c‘:

H=format(324878083202626694117443567177148322190861294622618211941523751741739958462509854242915, 'x')
print H.decode("hex")
 
>>> ?;??d?hI<q"Cv?f?%?,??/¦38???ca808c

 
Wondering where were the missing bytes, i noticed in the differences table that there was three 1-digit numbers. Appending a leading 0 to these numbers (except the first one to avoid python octal conversion), the hex value would give a 37 chars length string which is the final flag!

H=format(32487808320262606941174435671771483220190861294622618211941523751741739958462509854242915, 'x')
print H.decode("hex")
 
>>> ASIS_c9a1cd21db5d38923562fccabbca808c

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *