buuctf学习记录-crypto(001-010)

做题的顺序是从最旧开始的,这样比较有规律,做完看着也舒服。
上周有事忙碌,web题的下一组没肝完,先更一篇crypto的简单题~


001 看我回旋踢

解答:常规凯撒加密,偏移13。
工具是大家常用的:CTFCrakTools pro
在这里插入图片描述


002 变异凯撒

题目:afZ_r9VYfScOeO_UL^RWUc
解答:题目说是变异凯撒,那么就对比一下开头几个字符与flag的数值差,可以看到是偏移数值以step 1的步长逐渐增长。
在这里插入图片描述
写个小脚本解密一下。

#我弄了一个自己用的类,可以直接写里面的方法
class JZcaesa():
    def bianyi(self,str,offset,step):
        result=""
        for i in str:
            result+=chr(ord(i)+offset)
            offset+=step
        return result
str="afZ_r9VYfScOeO_UL^RWUc"
flag=JZcaesa().bianyi(str,5,1)
print(flag)   
#flag{Caesar_variation}  

003 Url编码

题目:%66%6c%61%67%7b%61%6e%64%20%31%3d%31%7d
解答:用hackbar就可以url解码。
flag{and 1=1}
在这里插入图片描述


004 传感器

题目
在这里插入图片描述

解答:传感器,提示曼联,数据由5、6、9、a组成,可以知道这就是曼彻斯特编码。

使用工具获取结果。
(工具下面附的那个内容链接里有,我就不附了)
在这里插入图片描述

或者用脚本:

cipher='5555555595555A65556AA696AA6666666955'
def iee(cipher):
    tmp=''
    for i in range(len(cipher)):
        # eval讲十六进制字符串转为数值(本质是表达式计算)
        # 然后bin再转为二进制,[2:]去掉‘0b’,zfill(4)指定字符串长度为4(如:110-->0110)
        a=bin(eval('0x'+cipher[i]))[2:].zfill(4)
        tmp=tmp+a[1]+a[3]
        #print(tmp)
    #8位一组,反向,再转十六进制
    plain=[hex(int(tmp[i:i+8][::-1],2))[2:] for i in range(0,len(tmp),8)]
    print(''.join(plain).upper())

iee(cipher)

进一步学习

crypto之曼彻斯特编码


005 robomunication

题目:xxxxxx
解答:给了一个mp3
mp3,听着像摩斯,记录一下。
.... . .-.. .-.. --- .-- .... .- - .. ... - .... . -.- . -.-- .. - .. ... -... --- --- .--. -... . . .--.

解密得到:HELLOWHATISTHEKEYITISBOOPBEEP
(翻一下就是,你好,key是什么,是BOOPBEEP)

flag{BOOPBEEP}


006 MD5

题目:e00cf25ad42683b3df678c61f42c6bda
解答
找个线上md5爆破:md5爆破网址
在这里插入图片描述

flag{admin1}

MD5CrackSp:一个小的爆破md5的工具,可以爆破简单密码的md5。(一般不建议)
在这里插入图片描述


007 Quoted-printable

题目:=E9=82=A3=E4=BD=A0=E4=B9=9F=E5=BE=88=E6=A3=92=E5=93=A6
解答:Quoted-printable:可打印字符引用编码
写脚本解一下:

class JZcrypto_else():
    def quoted(self,encode_str):
        decode_str=quopri.decodestring(encode_str)
        return decode_str
        
str="=E9=82=A3=E4=BD=A0=E4=B9=9F=E5=BE=88=E6=A3=92=E5=93=A6"
#需要输出中文,就需要后面的.decode('utf8')
flag=JZcrypto_else().quoted(str).decode('utf8')
print(flag)
#最后的flag:那你也很棒哦

008 丢失的MD5

题目:xxxxxx
解答:给了一个md5的爆破脚本。python2的,运行后就出flag。
在这里插入图片描述
在这里插入图片描述


009 传统知识+古典密码

题目
在这里插入图片描述

解答:六十甲子顺序表:
在这里插入图片描述

辛卯28,癸巳30,丙戌23,辛未8,庚辰17,癸酉10,己卯16 ,癸巳30 ,然后是加甲子 60,即88 90 83 68 77 70 76 90,得到八个数字,尝试用ASCII码解密,得到XZSDMFLZ。

题目又说古典密码。古典密码主要有栅栏,凯撒,培根,摩丝等等。
尝试凯撒解密,没有结果。尝试栅栏解密,获取两个xsmlzdfz,xmzfsldz,也不对。把栅栏的两个结果分别凯撒尝试一下,出了结果。

最终步骤:先是栅栏解密得XMZFSLDZ(key=2),然后再凯撒解密,得SHUANGYU(key=5)

flag{SHUANGYU}


010 password

题目
在这里插入图片描述

解答
社工题,可以猜一下。
10个字符,名字首字母+生日刚好10个字符。尝试正确。
flag{zs19900315}

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 无法确定谁更厉害,因为这取决于当前的状态和各方面的表现。两支球队都有他们的历史和优秀表现,在某些时候,曼联可能表现得更好,而在其他时候利兹联可能表现得更好。总体而言,两支球队都是顶尖的英格兰足球俱乐部,并且在英格兰足球历史上都有重要地位。 ### 回答2: 曼联和利兹联都是英格兰足球历史悠久的俱乐部,但从近几年的表现来看,曼联更加厉害。 首先,曼联是英超历史上最成功的俱乐部之一,曾经赢得了多次英超冠军和欧洲冠军联赛冠军。他们在过去20多年里,特别是在20世纪90年代和2000年代初期,创造了辉煌的成绩。 其次,曼联在许多方面都具备更高的实力和资源。他们拥有庞大的球迷基础、强大的财力和顶级的球员阵容。他们经常能够引进世界级的球员,并通过投资青年才俊来保持球队实力的稳定。 然而,利兹联也不能被小觑。作为一支传统的英格兰足球俱乐部,他们在过去也曾赢得过英超冠军和欧洲冠军。虽然近几年在英超联赛中的表现不如曼联,但他们在英冠联赛中展现出了强大的竞争力,一度重新升入英超。 综上所述,曼联相较于利兹联在近几年表现更为出色,其历史成就、实力和资源都更高。虽然利兹联也是一支不可小觑的球队,但曼联在厉害程度上更胜一筹。 ### 回答3: 曼联和利兹联是英格兰足球历史上两支极具声望和影响力的球队。从历史上看,曼联是更加厉害的球队。 首先,曼联拥有丰富的荣誉和辉煌的历史。他们是英超联赛最成功的球队之一,夺得了20个联赛冠军,这是无人能及的纪录。他们还赢得了多次英格兰足总杯、英格兰联赛杯和欧洲冠军联赛等重要赛事。无论是英超联赛还是国际舞台,曼联都有着非凡的表现,这彰显了他们团队的实力和统治力。 其次,曼联拥有顶级的球员和主教练。他们培养了许多足坛的传奇球星,如贝克汉姆、吉格斯、鲁尼等。曼联一直以来也非常擅长引进世界级球员,如博格巴、马夏尔等。曼联还有着出色的主教练,如费尔根哈尔、弗格森和现任主教练索尔斯克亚。他们的才华和战术智慧使得曼联一直保持着竞争力。 虽然利兹联在英格兰足球历史上也有一席之地,但相比之下,他们在近年的成绩和影响力方面稍逊一筹。利兹联上赛季重返英超,证明了他们的实力,但他们与曼联相比仍然有相当的差距。 综上所述,虽然利兹联是一支优秀的球队,但曼联是更加厉害的一支球队。他们拥有丰富的历史和荣誉,顶级的球员和主教练团队,这使得他们在英格兰足球界占据着重要的地位。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值