BUUCTF——CRYPTO(记录不熟悉的题)

目录

Windows系统密码

 信息化时代的步伐

 凯撒?替换?呵呵!

传统知识+古典密码

权限获得第一步

 old-fashion

 世上无难事

Cipher

[GXYCTF2019]CheckIn

 密码学的心声

[BJDCTF2020]这是base??


Windows系统密码

给了一个pass.hash的文件,用记事本打开

 用在线md5解密网站https://cmd5.com/解密ctf第二段,得到flag

 信息化时代的步伐

文件给了一串数字

 了解到是中文电码,题目中也透露了一些信息

 利用在线网站https://dianma.bmcx.com/可得到flag

 凯撒?替换?呵呵!

先用凯撒脚本,得到可能是flag的:

再用替换,将FMAC换成FLAG,在线网站:https://quipqiup.com/ 

 得到flag,把空格去掉即可。

传统知识+古典密码

 先对照60甲子年表,写出对应数字

 88 90 83 68 77 70 76 90(因为背面写有+甲子,故在原来的基础上再加上60),按照ASCII表写出对应字符串:XZSDMFLZ,接着利用栅栏加密脚本解密,得到两个解:XSMLZDFZ、XMZFSLDZ,最后分别进行凯撒解密,得到最有可能的flag:

 改为大写即为flag。

权限获得第一步

md5在线解密破解https://www.cmd5.com/

 old-fashion

 在线网站解决https://quipqiup.com/

 世上无难事

同上题一样,利用网站直接爆破

Cipher

了解到playfair也是一种加密方式,用在线网站解密http://rumkin.com/tools/cipher/playfair.php

 将得到的I改为小写即为题解

[GXYCTF2019]CheckIn

 首先猜测是base64,解出来得到一堆乱码

然后了解到要用ROT解密

 用在线解密网站https://www.qqxiuzi.cn/bianma/ROT5-13-18-47.php,用ROT-47解出来可得到flag

 密码学的心声

 给了一张乐谱

 观察内容可以发现数字中没有出现大于8的,猜测八进制,并转ASCII码

s = [111,114,157,166,145,123,145,143,165,162,151,164,171,126,145,162,171,115,165,143,150]
flag = ''
for i in s:
    i = str(i)
    flag += chr(int(i,8))
print(flag)

[BJDCTF2020]这是base??

直接上代码

import base64

dict = {0: 'J', 1: 'K', 2: 'L', 3: 'M', 4: 'N', 5: 'O', 6: 'x', 7: 'y', 8: 'U', 9: 'V', 10: 'z', 11: 'A', 12: 'B', 13: 'C', 14: 'D', 15: 'E', 16: 'F', 17: 'G', 18: 'H', 19: '7', 20: '8', 21: '9', 22: 'P', 23: 'Q', 24: 'I', 25: 'a', 26: 'b', 27: 'c', 28: 'd', 29: 'e', 30: 'f', 31: 'g', 32: 'h', 33: 'i', 34: 'j', 35: 'k', 36: 'l', 37: 'm', 38: 'W', 39: 'X', 40: 'Y', 41: 'Z', 42: '0', 43: '1', 44: '2', 45: '3', 46: '4', 47: '5', 48: '6', 49: 'R', 50: 'S', 51: 'T', 52: 'n', 53: 'o', 54: 'p', 55: 'q', 56: 'r', 57: 's', 58: 't', 59: 'u', 60: 'v', 61: 'w', 62: '+', 63: '/', 64: '='}
s_base64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='
chipertext = 'FlZNfnF6Qol6e9w17WwQQoGYBQCgIkGTa9w3IQKw'

flag = ''
for i in range(0,len(chipertext)):
    for j in range(0,64):
        if dict[j] == chipertext[i]:
            flag += s_base64[j]
flag = base64.b64decode(flag)
print(flag)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值