1、奇怪的杂项
题目给了一个flag.pyc文件,平常思路,先去pyc在线反编译网站先编译一下再说。
if __name__ == '__main__':
if b58encode(input()) == b'3sLBBYq91BUxPzp7tRuYNKvUNQ2hedyw6ydjzNbf9rJbYq9Ue6xzr9aL6rEDwUQZRGnZPGGgwM2PspAeVcCCjyrNQqDV5PhvaZpwj5ZMaXaFuGjiXK1gf72U325dx6n1RFKiBF3C9dYRTj86aqxZ5HN53KLaW7oBoXwJjbsNFdci8A2kQM':
print('flag is coming...')
else:
print('There is no problem that your input is wrong.')
反编译结束之后,发现有一串base58,base58在线解码后,发现解不出来
然后用stegosaurus解码后,解码成功,注意是需要python3.6版本
flag:217a5bcecea1be5eeca5028b06427b84
2、BOY_PLAY_GTA
题目给了一个这个图片,不管三七二十一,用010editor查看,题目末尾有个压缩包,尝试用binwalk或者formost分离一下。
分离后,出现flag.zip文件和key.txt文件
点开key.txt,发现:K9@?88F@;:2J@F,这是一个ROT47码,在线解密一下,结果是:zhongguojiayou
解密之后,又出现一个图片
用zteg查看一下,或者用010editor查看一下,发现有bpg图像,将bpg图像另存出来,发现以下信息:
仔细查看一下,这个是维吉尼亚密码,在线解密:
得到flag:
flag{da1a@_dd_dd_hm???}
Dancing
题目给了个提示:
黑哥一笑,生死难料,同时又给了个压缩包
将这个压缩包解压,得到
内存取证一下,发现有个True的提示
对这个密码进行dump出来
用010editor打开解压出来的流量文件,发现只有FTP文件和zip文件,将这个文件导出来
然后用efdd
新增一张图片,拖到010erditor看,在文件尾部发现:
发现一串base编码,用编码自动识别程序
# coding=utf-8
import base64
import re
import base91
def baseDec(text, type):
if type == 1:
return base64.b16decode(text)
elif type == 2:
return base64.b32decode(text)
elif type == 3:
return base64.b64decode(text)
elif type == 4:
return base64.b85decode(text)
elif type == 5:
return base91.decode(text.decode())
else:
pass
def detect(text):
try:
if re.match("^[0-9A-F=]+$", text.decode()) is not None:
return 1
except:
pass
try:
if re.match("^[A-Z2-7=]+$", text.decode()) is not None:
return 2
except:
pass
try:
if re.match("^[A-Za-z0-9+/=]+$", text.decode()) is not None:
return 3
except:
pass
try:
if re.match("^[A-Za-z0-9$%()*+,-./:;?@[\]^_`{|}~]+$", text.decode()) is not None:
return 4
except:
pass
try:
if re.match("^[^-\']+$", text.decode()) is not None:
return 5
except:
pass
return 5
def autoDec(text):
floor = 0
while True:
try:
code = detect(text)
text = baseDec(text, code)
floor += 1
print("第{0}层:\n".format(floor), text)
if not text: break
except:
break
if __name__ == "__main__":
# with open("Autopy/crypto/doc/form",'rb') as f:
# content = f.read()
content = "@iH<,{gMzJ.(Mk{Qm,R.[*;H02$@iCbRJ)%IyluM4R9=)8P".encode()
autoDec(content)
C:\Python38\python.exe C:/Users/hp/Desktop/Pythoncode/2022/test2.py
第1层:
bytearray(b'flag{2b620630c95ccda6a960158cd592d87f}')
第2层:
b'\x81M\xb4#\x07\x94k\xa3\x12\xc7E\x94\x10\xf6\xec0\x13\xfduy\x03LM\xdf\x0f\xe337\x17Q'
结束