Level 1 : ROT13

SecurityOverride   Decryption 部分解题思路

ROT13加密,一种简单加密方式,详见百度百科,这里用python shell直接解密

 1 'grfg110, jung vf Frgrp Nfgebabzl'.decode('rot13') 

可得答案:'test110, what is Setec Astronomy'

 

Level 2 :  BASE64

SecurityOverride   Decryption 部分解题思路

base64 加密,详情百度,同上直接python shell解密

 'VG9vIG1hbnkgc2VjcmV0cyB0ZXN0MTEw'.decode('base64') 

可得答案:'Too many secrets test110'

Level  3 :Binary

SecurityOverride   Decryption 部分解题思路

这题是将明文转化为对应2进制编码,将所给2进制码逆转为ascii码即可,这里采用tools88.com的编码转换工具

SecurityOverride   Decryption 部分解题思路

得到答案:Binary makes a l33t sig for 70051 users on this site, test110

Level 4 :LM Hash

SecurityOverride   Decryption 部分解题思路

LM Hash 详情见百度,Hash算法没辙,网上查表吧,这里提供两个查询链接供参考:

http://www.objectif-securite.ch/en/ophcrack.php

http://rainbowtables.it64.com/

Level 5 :MD5 Hash

SecurityOverride   Decryption 部分解题思路

依旧Hash算法,网上查询,这里提供两个个人认为比较好的查询网站:

cmd5:http://cmd5.com/

somd5:http://aiisoo.com/

PS:这题貌似有点坑,出的大部分密文都只能cmd5付费查询才有,当然,有条件的可以自己跑

Level 6 : SHA1 Hash

SecurityOverride   Decryption 部分解题思路

还是Hash ,网上查,这里提供一个网站:

http://cn.freemd5.com/

Level  7 :Custom Encryption

SecurityOverride   Decryption 部分解题思路

自定义加密,题目提供加密测试,可输入自己的字符串得到相应加密结果,经几次测试可知:

加密方式为奇数序号字符ascii码-5,偶数序号字符ascii码+5(首字符算序号1)。

解密只需将密文奇数序号字符ascii码+5,偶数序号字符ascii码-5,这里用python小程序解决:

1 #! usr/bin/env/python
2 a='3ff0sk\\'  #此处为密文 '3ff0sk' ,'\'字符为转义字符,因此需多一个转义字符转义'\'
3 l=[] #存放结果
4 for i in xrange(len(a)):
5     if i%2:#偶数序号(python以序号0开始计数)
6         l.append(chr(ord(a[i])-5))
7     else:#奇数序号
8         l.append(chr(ord(a[i])+5))
9 print ''.join(l)
View Code

Level 8 :XOR Encryption + BASE64

SecurityOverride   Decryption 部分解题思路

异或加密后再base64加密,异或运算特点:a^b=c  则  b=c^a

根据两种加密的特点及密文长度可推出明文长度为8

输入12345678进行加密测试,得到密文:XVtUXEFUQlQ=

显然为先异或加密再base64加密。用所得密文base64解密后得到异或后的密文

根据上文提到异或特点可求得异或时的密钥,

最后再用密钥与题目所给密文base64解密后字符串异或可得答案

参考代码(python):

 

 1 #! usr/bin/env/python
 2 a='XVtUXEFUQlQ='   #明文'12345678'对应密文
 3 a=a.decode('base64')
 4 b='12345678' #测试字符串
 5 key=[] #存放密钥
 6 for i in xrange(len(a)):
 7     key.append(chr(ord(a[i])^ord(b[i])))
 8 
 9 #print ''.join(key)
10 
11 c='XQUQA0M9H1g='  #题目待解密文
12 c=c.decode('base64')
13 answer=[]#存放答案
14 for i in xrange(len(key)):
15     answer.append(chr(ord(key[i])^ord(c[i])))
16 print ''.join(answer)
17     
View Code

相关文章:

  • 2021-04-03
  • 2021-12-19
  • 2021-06-23
  • 2021-12-19
  • 2022-12-23
  • 2021-07-10
  • 2021-05-04
  • 2021-09-27
猜你喜欢
  • 2021-12-05
  • 2021-11-16
  • 2021-10-13
  • 2022-12-23
  • 2022-03-06
  • 2022-01-19
相关资源
相似解决方案