7,变异凯撒
正如其名,肯定与循环有关,得到原码一看,afZ_r9VYfScOeO_UL^RWUc,,emmm这好像一点头绪也没有啊,稍稍百度一下,看到与ASCII码有关,分析了一下,假设前四个数解码为flag,即a-->f
f-->l
Z-->a
_-->g
转换成ASCII码得到:
'a' = 61 --> 'f' = 66
'f' =66 --> 'l' = 6C
'Z' = 5A --> 'a' = 61
'_' = 5F --> 'g' = 67
这么一看似乎并不能一眼看出规律,由于一半ASCII码转化都是默认十六进制,在将其转换成十进制得到:
'a' = 97 --> 'f' = 102,+5
'f' =102 --> 'l' = 108,+6
'Z' = 90 --> 'a' = 97, +7
'_' = 95 --> 'g' = 103,+8
先在规律明了,写个算法先将输入数组转换成相应的十进制ASCII码,套一个循环将第一数加5,后续数值随他的位数逐步格外加一(gpt该你出手了!),最后得到的数组在转化成对应ASCII字符即可。
8,Quoted-printable
百度一下名字,发现也是一种编码方式,在ctf解码工具中也找到了解码方式,粘贴解码得到flag
9,Rabbit
毫无头绪,百度出了一个Rabbit加密方式,找到在线网站解密即可
这个加密方式的密语看不出什么特点,题目不给提示真搞不出来。。。
10,篱笆墙的影子
看到原码,原以为很简单,给出的源码是这个
felhaagv{ewtehtehfilnakgw}
f l a g { w e t h i n k w }
隔一列删除一个字符,但是得到的flag不对,没办法百度了一下,看到一个栅栏密码,分俩组,试了下得到flag。
11,RSA
RSA加密算法,在一次RSA密钥对生成中,假设p=473398607161,q=4511491,e=17
求解出d作为flga提交,RSA加密工具中填入参数解码一下得到flag
12,丢失的MD5
压缩包给了一段py代码,运行一下出现错误,看下报错,添加一对括号可还是报错,看不懂百度了一下看见要对字符进行(UTF-8)编码,修改一下,跑出flag。
import hashlib
for i in range(32,127):
for j in range(32,127):
for k in range(32,127):
m=hashlib.md5()
m.update('TASC'+chr(i)+'O3RJMV'+chr(j)+'WDJKX'+chr(k)+'ZM')
des=m.hexdigest()
if 'e9032' in des and 'da' in des and '911513' in des:
print (des)
import hashlib
for i in range(32,127):
for j in range(32,127):
for k in range(32,127):
m=hashlib.md5()
m.update('TASC'.encode('UTF-8')+chr(i).encode('UTF-8')+'O3RJMV'.encode('UTF-8')+chr(j).encode('UTF-8')+'WDJKX'.encode('UTF-8')+chr(k).encode('UTF-8')+'ZM'.encode('UTF-8'))
des=m.hexdigest()
if 'e9032' in des and 'da' in des and '911513' in des:
print(des)