密文:MyLkTaP3FaA7KOWjTmKkVjWjVzKjdeNvTnAjoH9iZOIvTeHbvD==
JASGBWcQPRXEFLbCDIlmnHUVKTYZdMovwipatNOefghq56rs****kxyz012789+/
oh holy shit, something is missing...
提示是少了一些东西
确实我们可以看到在所给密文的中有一段是被隐藏的,那我们先把已知的解密看看
首先第一行很明显就是base64
解密得到的是乱码,那还是得想办法拿到缺少的信息
这个题型也确实是第一次见到,查看了大佬的WP,得知这是base64的扩展,就是将base64原本的替换顺序打乱,改成相应的字符顺序,然后使用新的字符顺序去进行base64的加解密
那么一定要先得到缺失的4个字符
利用一位大佬的脚本,得到flag
str="JASGBWcQPRXEFLbCDIlmnHUVKTYZdMovwipatNOefghq56rs****kxyz012789+/"
ciper="MyLkTaP3FaA7KOWjTmKkVjWjVzKjdeNvTnAjoH9iZOIvTeHbVD"#(==没有用)
import string
import binascii
for i in string.ascii_letters+string.digits:
if i not in str:
print(i)
import itertools
s=['j','u','3','4']
for i in itertools.permutations(s,4):
ss="JASGBWcQPRXEFLbCDIlmnHUVKTYZdMovwipatNOefghq56rs"+"".join(i)+"kxyz012789+/"
bins = ""
for j in ciper:
bins+=bin(ss.index(j))[2:].zfill(6)
print(binascii.unhexlify(hex(eval("0b"+bins))[2:-1]))
运行结果发现有好几种可能,那就一个个试吧
尝试之后是最后一个
参考:
https://blog.csdn.net/weixin_44017838/article/details/105601977
https://blog.csdn.net/weixin_44110537/article/details/107328905