CTF竞赛题

1.攻防世界之混合编码:(base64解密、unicode解密、ASCII转字符脚本、传统base64解密、ASCII解密)
下载附件,打开,发现两个等号和19azA~Z的典型base64编码型,直接base64转换:

转了一堆&#出来,根据以前的做题经验,猜unicode或hex:

一开始用了十六进制来转,转了个四不像出来,后来发现转错了,unicode在线解码网址:

http://www.jsons.cn/unicode/

这三个数的看着像ASCII,因为题目暗示混合编码,直接转换看看:ASCCII表对照法:

ASCII转字符脚本法:

import re

r="/119/101/108/99/111/109/101/116/111/97/116/116/97/99/107/97/110/100/100/101/102/101/110/99/101/119/111/114/108/100"

r=re.split("/",r)

#print(r)

flag=""

for i in range(1,len(r)):

flag+=chr(int(r[i]))

print(flag)
————————————————

               

2.单层传统加密:
Bugku crypto之聪明的小羊:(题目描述暗示、栅栏密码)

所谓栅栏密码,就是把要加密的明文分成N个一组,然后把每组的第1个字连起来,形成一段无规律的话。 不过栅栏密码本身有一个潜规则,就是组成栅栏的字母一般不会太多。(一般不超过30个,也就是一、两句话)

传统栅栏密码(矩阵行列,密钥是行数):

假如有一个字符串:123456789

取字符串长度的因数进行分组,假如key=3

1 2 3 \\分组情况,每三个数字一组,分为三组

4 5 6

7 8 9

然后每一组依次取一个数字组成一个新字符串:147258369 \\加密完成的字符串

解题:

试一般的栅栏密码,取5为矩阵行数,得到" cyperrocaegireeol} eahfocec gnbip不正确,取5为矩阵列数,得到" cebgccfe en eohplprgecrayoii aoreg”,也不正确,除了常规的栅栏密码,还有

由题目描述可知分两组:

fa{fe13f590

lg6d46d0d0}

上一个下一个即可得flag:flag{6fde4163df05d900}

3.看我回旋踢

得到字符:synt{5pq1004q-86n5-46q8-o720-oro5on0417r1}

很明显,对应着flag{XXX}

synt对应flag

所以我们可以判断出这大概是移位密码中的凯撒密码,而s对应f,代表移位13位

解码得:flag{5cd1004d-86a5-46d8-b720-beb5ba0417e1}

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值