TW_GR_E1_ART Oh, sweet, they made a spinoff game to Toaster Wars! That last room has a lot of flags in it though. I wonder which is the right one...? Check it out here.
HINTS I think this game is running on a Node.js server. If it's configured poorly, you may be able to access the server's source. If my memory serves me correctly, Node servers have a special file that lists dependencies and a start command; maybe you can use that file to figure out where the other files are?
We found sorandom.py running at shell2017.picoctf.com:37968. It seems to be outputting the flag but randomizing all the characters first. Is there anyway to get back the original flag? Update (text only) 16:16 EST 1 Apr Running python 2 (same version as on the server)
HINTS How random can computers be?
加密脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
#!/usr/bin/python -u import random,string
flag = "FLAG:"+open("flag", "r").read()[:-1] encflag = "" random.seed("random") for c in flag: if c.islower(): #rotate number around alphabet a random amount encflag += chr((ord(c)-ord('a')+random.randrange(0,26))%26 + ord('a')) elif c.isupper(): encflag += chr((ord(c)-ord('A')+random.randrange(0,26))%26 + ord('A')) elif c.isdigit(): encflag += chr((ord(c)-ord('0')+random.randrange(0,10))%10 + ord('0')) else: encflag += c print"Unguessably Randomized Flag: "+encflag
flag = "" encflag = "BNZQ:jn0y1313td7975784y0361tp3xou1g44" random.seed("random") for c in encflag: if c.islower(): #rotate number around alphabet a random amount flag += chr((ord(c)-ord('a')+26-random.randrange(0,26))%26 + ord('a')) elif c.isupper(): flag += chr((ord(c)-ord('A')+26-random.randrange(0,26))%26 + ord('A')) elif c.isdigit(): flag += chr((ord(c)-ord('0')+10-random.randrange(0,10))%10 + ord('0')) else: flag += c print flag