CTF--攻防世界crypto新手训练7-11

7.不仅仅是Morse

8.easy_RSA

9.easychallenge

10.混合编码

11.转轮机加密


7.不仅仅是Morse

题目:“这个题目和我们刚刚做的那个好像啊但是为什么按照刚刚的方法做出来答案却不对呢” ,你奇怪的问了问小鱼,“可能是因为还有一些奇怪的加密方式在里面吧,我们在仔细观察观察”。两个人 安安静静的坐下来开始思考,很耐心的把自己可以想到的加密方式一种种的过了一遍,十多分钟后两个人 异口同声的说“我想到了!”。一种食物,格式为cyberpeace{小写的你解出的答案}

CTF--攻防世界crypto新手训练7-11_第1张图片

下载附件打开后是一长串摩斯码,通过在线网站解码,查看英文说明,可以知道后面那些AB是我们需要再次解码的内容

CTF--攻防世界crypto新手训练7-11_第2张图片

通过百度,我们知道这是培根密码,再次通过在线网站解码可以得到flag

CTF--攻防世界crypto新手训练7-11_第3张图片
CTF--攻防世界crypto新手训练7-11_第4张图片

flag如下
cyberpeace{attackanddefenceworldisinteresting}

8.easy_RSA

题目:解答出来了上一个题目的你现在可是春风得意,你们走向了下一个题目所处的地方 你一看这个题目傻眼了,这明明是一个数学题啊!!!可是你的数学并不好。扭头看向小鱼,小鱼哈哈一笑 ,让你在学校里面不好好听讲现在傻眼了吧~来我来!三下五除二,小鱼便把这个题目轻轻松松的搞定了。flag格式为cyberpeace{小写的你解出的答案} ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200419125455677.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwNzMwMDI5,size_16,color_FFFFFF,t_70) ##### 下载附件打开 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200419125526544.png)

9.easychallenge

题目:你们走到了一个冷冷清清的谜题前面,小鱼看着题目给的信息束手无策,丈二和尚摸不着头脑 ,你嘿嘿一笑,拿出来了你随身带着的笔记本电脑,噼里啪啦的敲起来了键盘,清晰的函数逻辑和流程出现在 了电脑屏幕上,你敲敲键盘,更改了几处地方,运行以后答案变出现在了电脑屏幕上。

CTF--攻防世界crypto新手训练7-11_第5张图片

下载附件打开后看到是一个.pyc文件,百度后发现可以将pyc文件反编译回py文件,在kali里安装反编译软件(使用pop3命令可以看如何配置rsactftool)

配置rsactftool工具链接:https://blog.csdn.net/qq_40730029/article/details/105937669
软件安装命令如下:

pip3 install uncompyle6
进入附件所在目录,操作如下命令(下载的附件名字过长,我将它重命名了):
uncompyle6 -o . mima.pyc

在这里插入图片描述
路径下出现了.py文件
CTF--攻防世界crypto新手训练7-11_第6张图片

查看mima.py文件(使用cat命令)

CTF--攻防世界crypto新手训练7-11_第7张图片

运行文件,命令如下:
python mima.py	//python3运行会报错,存在不兼容

运行之后输入都不正确,去看代码,发现flag要通过final的值得到,我们需要将代码反着走一次
CTF--攻防世界crypto新手训练7-11_第8张图片

解密脚本
import base64
final = 'UC7KOWVXWVNKNIC2XCXKHKK2W5NLBKNOUOSK3LNNVWW3E==='

def decode1(ans):
    s = ''
    for i in ans:
        x = ord(i) - 25
        x = x ^ 36
        s += chr(x)
    return s

def decode2(ans):
    s = ''
    for i in ans:
        x = ord(i)  ^ 36
        x = x - 36
        s += chr(x)
    return s

def decode3(ans):
    return base64.b32decode(ans)

print decode1(decode2(decode3(final )))
运行解密脚本,得到flag

在这里插入图片描述
flag如下:

cyberpeace{interestinghhhhh}

10.Normal_RSA

题目:你和小鱼走啊走走啊走,走到下一个题目一看你又一愣,怎么还是一个数学题啊 小鱼又一笑,hhhh数学在密码学里面很重要的!现在知道吃亏了吧!你哼一声不服气,我知道数学 很重要了!但是工具也很重要的,你看我拿工具把他解出来!你打开电脑折腾了一会还真的把答案 做了出来,小鱼有些吃惊,向你投过来一个赞叹的目光

CTF--攻防世界crypto新手训练7-11_第9张图片

下载附件打开

在这里插入图片描述

题目是rsa,使用openssl解密.pem中参数,得到e和modulus的值

命令如下(要进入到路径中使用oppenssl):

openssl rsa -text -pubin -modulus -in pubkey.pem

CTF--攻防世界crypto新手训练7-11_第10张图片

通过python将模数转换成十进制

CTF--攻防世界crypto新手训练7-11_第11张图片
结果:

87924348264132406875276140514499937145050893665602592992418171647042491658461
在线分解大素数得到p和q的值

网站:http://www.factordb.com/
CTF--攻防世界crypto新手训练7-11_第12张图片
结果:

275127860351348928173285174381581152299
319576316814478949870590164193048041239
生成私钥文件

python rsatool.py -out private.pem -e 65537 -p 275127860351348928173285174381581152299 -q 319576316814478949870590164193048041239
CTF--攻防世界crypto新手训练7-11_第13张图片
CTF--攻防世界crypto新手训练7-11_第14张图片

用private.pem解密flag.enc(在flag.enc目录中,private.pem也要放到这里)
openssl rsautl -decrypt -in flag.enc -inkey private.pem

在这里插入图片描述
flag如下:

PCTF{256b_i5_m3dium}

11.转轮机加密

题目:你俩继续往前走,来到了前面的下一个关卡,这个铺面墙上写了好多奇奇怪怪的 英文字母,排列的的整整齐齐,店面前面还有一个大大的类似于土耳其旋转烤肉的架子,上面一圈圈的 也刻着很多英文字母,你是一个小历史迷,对于二战时候的历史刚好特别熟悉,一拍大腿:“嗨呀!我知道 是什么东西了!”。提示:托马斯·杰斐逊。 flag,是字符串,小写。

CTF--攻防世界crypto新手训练7-11_第15张图片

下载附件打开,然后百度轮转机密码的含义和相关信息

CTF--攻防世界crypto新手训练7-11_第16张图片

根据密钥将第一条密码替换为第二条,第二条替换为第三条,以此类推,第十三条替换为第六条

CTF--攻防世界crypto新手训练7-11_第17张图片

轮转机密码密文对应的是每行字符串的第一列,所以我们将每一行的第一个字母对应到密文,此时是将字符向左转,将所有列的字符串写出,根据提示信息是指第二次大战期间,找到第18列字符串与题目信息相关,于是判定为flag

CTF--攻防世界crypto新手训练7-11_第18张图片

fireinthehole   //该字符串直接提交就对了,前面不用加flag{}或cyberpeace{}

你可能感兴趣的:(CTF)