传送门:https://adworld.xctf.org.cn/task/

1、base64

题目描述:元宵节灯谜是一种古老的传统民间观灯猜谜的习俗。 因为谜语能启迪智慧又饶有兴趣,灯谜增添节日气氛,是一项很有趣的活动。 你也很喜欢这个游戏,这不,今年元宵节,心里有个黑客梦的你,约上你青梅竹马的好伙伴小鱼, 来到了cyberpeace的攻防世界猜谜大会,也想着一展身手。 你们一起来到了小孩子叽叽喳喳吵吵闹闹的地方,你俩抬头一看,上面的大红灯笼上写着一些奇奇怪怪的 字符串,小鱼正纳闷呢,你神秘一笑,我知道这是什么了。

题解:

  • Y3liZXJwZWFjZXtXZWxjb21lX3RvX25ld19Xb3JsZCF9
  • 名字都告诉你了,base64直接提交即可
cyberpeace{Welcome_to_new_World!}

2、Caesar

题目描述:你成功的解出了来了灯谜,小鱼一脸的意想不到“没想到你懂得这么多啊!” 你心里面有点小得意,“那可不是,论学习我没你成绩好轮别的我知道的可不比你少,走我们去看看下一个” 你们继续走,看到前面也是热热闹闹的,同样的大红灯笼高高挂起,旁边呢好多人叽叽喳喳说个不停。你一看 大灯笼,上面还是一对字符,你正冥思苦想呢,小鱼神秘一笑,对你说道,我知道这个的答案是什么了

题解:

  • oknqdbqmoq{kag_tmhq_xqmdzqp_omqemd_qzodkbfuaz}
  • 名字都告诉你了,凯撒直接提交即可(移位12)
cyberpeace{you_have_learned_caesar_encryption}

3、Morse

题目描述:小鱼得意的瞟了你一眼,神神气气的拿走了答对谜语的奖励,你心里暗暗较劲 想着下一个谜题一定要比小鱼更快的解出来。不知不觉你们走到了下一个谜题的地方,这个地方有些奇怪。 上面没什么提示信息,只是刻着一些0和1,感觉有着一些奇怪的规律,你觉得有些熟悉,但是就是想不起来 这些01代表着什么意思。一旁的小鱼看你眉头紧锁的样子,扑哧一笑,对你讲“不好意思我又猜到答案了。”(flag格式为cyberpeace{xxxxxxxxxx},均为小写)

题解:

  • 11 111 010 000 0 1010 111 100 0 00 000 000 111 00 10 1 0 010 0 000 1 00 10 110
  • 名字都告诉你了,莫尔斯码直接提交即可。记得套上cyberpeace{}。
cyberpeace{morsecodeissointeresting}

4、幂数加密

题目描述:你和小鱼终于走到了最后的一个谜题所在的地方,上面写着一段话“亲爱的朋友, 很开心你对网络安全有这么大的兴趣,希望你一直坚持下去,不要放弃 ,学到一些知识, 走进广阔的安全大世界”,你和小鱼接过谜题,开始了耐心细致的解答。flag为cyberpeace{你解答出的八位大写字母}

题解:

  • 8842101220480224404014224202480122,只有01248,所以是云隐密码。
  • 云影密码就是用0作为间隔,所得数字相加,再对应相应的26个字母,即可得到flag。
# 云影密码
x="8842101220480224404014224202480122"
s=x.split('0')
res=""
print(s)
for i in s:ch=0for j in i:ch += eval(j)res+=chr(ch+64)
print(res)


得到flag:

cyberpeace{WELLDONE}

5、Railfence

题目描述:被小鱼一连将了两军,你心里更加不服气了。两个人一起继续往前走, 一路上杂耍卖艺的很多,但是你俩毫无兴趣,直直的就冲着下一个谜题的地方去了。 到了一看,这个谜面看起来就已经有点像答案了样子了,旁边还画着一张画,是一副农家小院的 图画,上面画着一个农妇在栅栏里面喂5只小鸡,你嘿嘿一笑对着小鱼说这次可是我先找到答案了。

题解:

  • ccehgyaefnpeoobe{lcirg}epriec_ora_g,题目提示了栅栏密码和分为5行,所以直接丢就行。
cyberpeace{railfence_cipher_gogogo}

6、不仅仅是Morse

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

题解:

  • –/.-/-.–/…–.-/-…/./…–.-/…/.-/…-/./…–.-/.-/-./—/-/…/./.-./…–.-/-…/./-.-./—/-…/./…/…/…/…/.-/.-/.-/.-/.-/-…/.-/.-/-…/-…/-…/.-/.-/-…/-…/.-/.-/.-/.-/.-/.-/.-/.-/-…/.-/.-/-…/.-/-…/.-/.-/.-/.-/.-/.-/.-/-…/-…/.-/-…/.-/.-/.-/-…/-…/.-/.-/.-/-…/-…/.-/.-/-…/.-/.-/.-/.-/-…/.-/-…/.-/.-/-…/.-/.-/.-/-…/-…/.-/-…/.-/.-/.-/-…/.-/.-/.-/-…/.-/.-/-…/.-/-…/-…/.-/.-/-…/-…/-…/.-/-…/.-/.-/.-/-…/.-/-…/.-/-…/-…/.-/.-/.-/-…/-…/.-/-…/.-/.-/.-/-…/.-/.-/-…/.-/.-/-…/.-/.-/.-/.-/-…/-…/.-/-…/-…/.-/.-/-…/-…/.-/.-/-…/.-/.-/-…/.-/.-/.-/-…/.-/.-/-…/.-/.-/-…/.-/.-/-…/.-/-…/.-/.-/-…/-…/.-/-…/.-/.-/.-/.-/-…/-…/.-/-…/.-/.-/-…/-…/.-
  • 题目说了有摩尔斯,所以先摩尔斯一下
  • 发现一串AB字符串,所以把四个H后面的AABB到结束拿去培根解密,下面的一串小写的套上壳就是flag了
cyberpeace{attackanddefenceworldisinteresting}

7、混合编码

题目描述:经过了前面那么多题目的历练,耐心细致在解题当中是 必不可少的品质,刚巧你们都有,你和小鱼越来越入迷。那么走向了下一个题目,这个题目好长 好长,你知道你们只要细心细致,答案总会被你们做出来的,你们开始慢慢的尝试,慢慢的猜想 ,功夫不负有心人,在你们耐心的一步步的解答下,答案跃然纸上,你俩默契一笑,相视击掌 走向了下面的挑战。格式为cyberpeace{小写的你解出的答案}

题解:

  • JiM3NjsmIzEyMjsmIzY5OyYjMTIwOyYjNzk7JiM4MzsmIzU2OyYjMTIwOyYjNzc7JiM2ODsmIzY5OyYjMTE4OyYjNzc7JiM4NDsmIzY1OyYjNTI7JiM3NjsmIzEyMjsmIzEwNzsmIzUzOyYjNzY7JiMxMjI7JiM2OTsmIzEyMDsmIzc3OyYjODM7JiM1NjsmIzEyMDsmIzc3OyYjNjg7JiMxMDc7JiMxMTg7JiM3NzsmIzg0OyYjNjU7JiMxMjA7JiM3NjsmIzEyMjsmIzY5OyYjMTIwOyYjNzg7JiMxMDU7JiM1NjsmIzEyMDsmIzc3OyYjODQ7JiM2OTsmIzExODsmIzc5OyYjODQ7JiM5OTsmIzExODsmIzc3OyYjODQ7JiM2OTsmIzUwOyYjNzY7JiMxMjI7JiM2OTsmIzEyMDsmIzc4OyYjMTA1OyYjNTY7JiM1MzsmIzc4OyYjMTIxOyYjNTY7JiM1MzsmIzc5OyYjODM7JiM1NjsmIzEyMDsmIzc3OyYjNjg7JiM5OTsmIzExODsmIzc5OyYjODQ7JiM5OTsmIzExODsmIzc3OyYjODQ7JiM2OTsmIzExOTsmIzc2OyYjMTIyOyYjNjk7JiMxMTk7JiM3NzsmIzY3OyYjNTY7JiMxMjA7JiM3NzsmIzY4OyYjNjU7JiMxMTg7JiM3NzsmIzg0OyYjNjU7JiMxMjA7JiM3NjsmIzEyMjsmIzY5OyYjMTE5OyYjNzc7JiMxMDU7JiM1NjsmIzEyMDsmIzc3OyYjNjg7JiM2OTsmIzExODsmIzc3OyYjODQ7JiM2OTsmIzExOTsmIzc2OyYjMTIyOyYjMTA3OyYjNTM7JiM3NjsmIzEyMjsmIzY5OyYjMTE5OyYjNzc7JiM4MzsmIzU2OyYjMTIwOyYjNzc7JiM4NDsmIzEwNzsmIzExODsmIzc3OyYjODQ7JiM2OTsmIzEyMDsmIzc2OyYjMTIyOyYjNjk7JiMxMjA7JiM3ODsmIzY3OyYjNTY7JiMxMjA7JiM3NzsmIzY4OyYjMTAzOyYjMTE4OyYjNzc7JiM4NDsmIzY1OyYjMTE5Ow==
  • 首先一看是个base64,先解密一下。得到一串unicode编码。
    LzExOS8xMDEvMTA4Lzk5LzExMS8xMDkvMTAxLzExNi8xMTEvOTcvMTE2LzExNi85Ny85OS8xMDcvOTcvMTEwLzEwMC8xMDAvMTAxLzEwMi8xMDEvMTEwLzk5LzEwMS8xMTkvMTExLzExNC8xMDgvMTAw
  • 再解码一下:LzExOS8xMDEvMTA4Lzk5LzExMS8xMDkvMTAxLzExNi8xMTEvOTcvMTE2LzExNi85Ny85OS8xMDcvOTcvMTEwLzEwMC8xMDAvMTAxLzEwMi8xMDEvMTEwLzk5LzEwMS8xMTkvMTExLzExNC8xMDgvMTAw
  • 发现又是个base64,再次解码获得ascll:/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
  • 手动ascll解码:
import re
s="/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"
s=re.split("/",s)
print(s)
flag=""
for i in range(1,len(s)):flag=flag+chr(int(s[i]))
print(flag)

cyberpeace{welcometoattackanddefenceworld}

8、easy_RSA

题目描述:解答出来了上一个题目的你现在可是春风得意,你们走向了下一个题目所处的地方 你一看这个题目傻眼了,这明明是一个数学题啊!!!可是你的数学并不好。扭头看向小鱼,小鱼哈哈一笑 ,让你在学校里面不好好听讲现在傻眼了吧~来我来!三下五除二,小鱼便把这个题目轻轻松松的搞定了。flag格式为cyberpeace{小写的你解出的答案}
题解:

  • 在一次RSA密钥对生成中,假设p=473398607161,q=4511491,e=17,求解出d

  • 裸的RSA板子,本来想用pytgon3的,无奈gmpy2库装不上,直接cpp板子丢上去跑出来了,还好没超longlong

import gmpy2
p = 473398607161
q = 4511491
e = 17
s = (p-1)*(q-1)
d = gmpy2.invert(e,s)
print("flag is :",d)
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;LL MOD;
void exgcd(LL a, LL b, LL &d, LL &x, LL &y){if(!b) { d = a; x = 1; y = 0;}else { exgcd(b, a % b, d, y, x); y -= x * (a / b); }}
LL inv(LL a){LL d, x, y;exgcd(a, MOD, d, x, y);return d == 1 ? (x + MOD) % MOD : -1;}struct node{LL mat[105][105];};node mul(node x,node y,int n,LL mod){node tmp;for(int i=0;i<n;i++)for(int j=0;j<n;j++){tmp.mat[i][j]=0;for(int k=0;k<n;k++)tmp.mat[i][j]+=(x.mat[i][k]*y.mat[k][j])%mod;tmp.mat[i][j]%=mod;}return tmp;}int main(){LL p = 473398607161, q = 4511491;LL e = 17;LL n = p*q;LL phi_n = (p-1)*(q-1);MOD = phi_n;LL d = inv(e);cout<<d<<"\n";return 0;
}

cyberpeace{125631357777427553}

9、easychallenge29

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

题解:

  • 附件pyc,是个编译过的python,在线反编译一下获得源代码。
#!/usr/bin/env python
# visit https://tool.lu/pyc/ for more information
import base64def encode1(ans):s = ''for i in ans:x = ord(i) ^ 36x = x + 25s += chr(x)return sdef encode2(ans):s = ''for i in ans:x = ord(i) + 36x = x ^ 36s += chr(x)return sdef encode3(ans):return base64.b32encode(ans)flag = ' '
print 'Please Input your flag:'
flag = raw_input()
final = 'UC7KOWVXWVNKNIC2XCXKHKK2W5NLBKNOUOSK3LNNVWW3E==='
if encode3(encode2(encode1(flag))) == final:print 'correct'
else:print 'wrong'

  • encode1函数是把输入的字符串分割成单独的字符,先转换为ascii数值,再与36异或,然后+25,接着转回字符,最后拼接为新的字符串输出。
    因此对应的decode1函数应该是先-25,再与36异或(异或的逆操作还是异或)。
    encode2函数是把输入的字符串分割成单独的字符,先转换为ascii数值,再+36,然后与36异或,接着转回字符,最后拼接为新的字符串输出。
    因此对应的decode2函数应该是先与36异或,再-36。
    encode3函数是调用base64库里的b32encode()函数进行base32运算。
    因此对应的decode3函数应该是base64.b32decode()。

  • 写出解密代码
import base64def decode1(ans):s = ''for i in ans:x  = i^36x  = x - 36s += chr(x)return sdef decode2(ans):s = ''for i in ans:x  = ord(i) - 25x  = x ^ 36s += chr(x)return sdef decode3(ans):return base64.b32decode(ans, casefold =False, map01= None)number ="UC7KOWVXWVNKNIC2XCXKHKK2W5NLBKNOUOSK3LNNVWW3E==="
number = decode2(decode1(decode3(number)))
print(number)
cyberpeace{interestinghhhhh}

10、转轮机加密

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

题解:

  • 题目已经说了是转轮机加密:
    就是一个轮子,上面有很多字母在转。
    1、首先我们根据密钥来进行重新排列轮子,密钥的数字就代表第几个轮子,如2,3,7,5…代2、表第1行换成原来第2行,第2行换成原来第3行。
    3、排好后根据密文,进行行内排列,如 KPBELNACZDTRXMJQOYHGVSFUWI 进行重新排列后,找到N所在位置,然后重新拼接 ‘NACZDTRXMJQOYHGVSFUWI’+‘KPBEL’
    4、对所有行排好后按照列取即可

  • 放个大佬的代码

  • 最后发现第18行有语义,所以就是答案。(这次没有壳)

fireinthehole

11、Normal_RSA

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

题解:

  • 附件pem和enc,.enc是通过rsa加密后的密文, .pem 是rsa的公钥文件。
  • 用记事本打开pubkey.pem文件,把文件内容放到rsa解密网站上分析(http://www.hiencode.com/pub_asys.html)得到n和e
  • 使用yafu对n进行质因数分解,得到p和q
    p1 = 319576316814478949870590164193048041239
    p2 = 275127860351348928173285174381581152299
  • 使用工具 rsatool.py 可以通过p、q、e计算d,并生成pem文件
  • 最后openssl rsautl -decrypt -in flag.enc -inkey private.pem即可获得密钥
PCTF{256b_i5_m3dium}

12、easy_ECC

题目描述:转眼两个人又走到了下一个谜题的地方,这又是一种经典的密码学加密方式 而你刚好没有这个的工具,你对小鱼说“小鱼我知道数学真的很重要了,有了工具只是方便我们使用 懂了原理才能做到,小鱼你教我一下这个缇努怎么做吧!”在小鱼的一步步带领下,你终于明白了ECC 的基本原理,成功的解开了这个题目,两个人相视一笑,快步走向了下一个题目所在的位置。flag格式为cyberpeace{x+y的值}

题解:

  • 已知椭圆曲线加密Ep(a,b)参数为,p = 15424654874903,a = 16546484,b = 4548674875
    ,G(6478678675,5636379357093),私钥为k = 546768,求公钥K(x,y)
  • 利用工具ECCTOOL解题(下载链接:https://bbs.pediy.com/thread-66683.htm)
  • 最后得到x=13957031351290, y=5520194834100,两个加起来就是flag(答案是10进制的,如果16要转一下再加)
cyberpeace{19477226185390}

攻防世界 CRYPTO 新手练习区 答题(1-12题解)相关推荐

  1. 攻防世界 WEB 新手练习区 答题(1-12题解)

    序 传送门:https://adworld.xctf.org.cn/task/ 1.view_source 题目描述:X老师让小宁同学查看一个网页的源代码,但小宁同学发现鼠标右键好像不管用了. 题目思 ...

  2. 攻防世界 MISC 新手练习区 答题(1-12题解)

    序 传送门:https://adworld.xctf.org.cn/task/ 1.this is flag 题目描述:Most flags are in the form flag{xxx}, fo ...

  3. [攻防世界]crypto新手练习区Caesar

    [攻防世界]crypto新手练习区Caesar Caesar最佳Writeup由Um0 • Umo.提供 难度系数: 1.0 题目来源: poxlove3 题目描述:你成功的解出了来了灯谜,小鱼一脸的 ...

  4. xctf攻防世界 crypto 新手练习区--write up(持续更新中)

    文章目录 base64 Caesar Morse Railfence 不仅仅是Morse easy RSA RSA算法 简介 RSA计算公钥和私钥 混合编码 转轮机加密 回转轮加密 base64 题目 ...

  5. 攻防世界 —— Crypto新手练习区7题(不仅仅是Morse)题解

    题目分析 已经提示会用到Morse码了,同时又知道有一种加密方式名字中带有食物. 解题过程 打开文本文件,看到的密文如下: --/.-/-.--/..--.-/-..././..--.-/..../. ...

  6. 攻防世界crypto新手练习区通关教程

    base64 下载附件后去解密base64即可 cyberpeace{Welcome_to_new_World!} Caesar 下载附件后去解密,是凯撒密码 位移12即可 Morse 这是一串摩斯密 ...

  7. 攻防世界misc新手_[攻防世界]mobile新手练习区easy-apk

    [攻防世界]mobile新手练习区easy-apk easy-apk最佳Writeup由129师386旅独立团 • devi1提供 难度系数: 7.0 题目来源: 暂无 题目描述:无 题目场景: 暂无 ...

  8. 攻防世界 Crypto高手进阶区 3分题 wtc_rsa_bbq

    前言 继续ctf的旅程 攻防世界Crypto高手进阶区的3分题 本篇是wtc_rsa_bbq的writeup 发现攻防世界的题目分数是动态的 就仅以做题时的分数为准了 解题过程 得到一个无后缀文件 扔 ...

  9. 攻防世界 MISC新手练习区 刷12道题题所得的思路和方法

    title: 攻防世界 MISC新手练习区 date: 22021年8月17日 10点31分 tags: MISC categories: MISC 1.攻防世界 this_is_flag(签到题) ...

最新文章

  1. C语言中编译、生成、调试、运行的区别
  2. 喜欢爱C/C++的人不要浮躁
  3. Django学习笔记5-url
  4. 小米卸载动画-图标爆炸实现
  5. python语言属于哪一种语言阅读答案_python是一种()-智慧树Python语言应用章节答案...
  6. MybatisPlus联合查询
  7. Win11 2022 Edge浏览器解决教资报名(浏览器不兼容)问题
  8. 深夜的呼唤,无尽的力量
  9. unexpected inconstancy
  10. 硬盘克隆 计算机更换硬盘,换硬盘数据怎么办 看一招本地磁盘对拷
  11. vsphere client下载地址
  12. 计算机考研怎么给老师发邮件,2015考研复试给导师的邮件怎么写?_跨考网
  13. 【PHP】保留两位小数并向上取整
  14. 怎么清理mysql的死链接_网站死链如何解决?其实很简单
  15. 【线性代数】共轭转置矩阵
  16. spark 的lit是什么_什么是LIT文件(以及如何打开一个文件)?
  17. HttpClient使用代理
  18. 自我高数学习笔记——知识点
  19. java 获取下周一日期
  20. 绝对路径和相对路径的优缺点

热门文章

  1. 深度神经网络编程细节
  2. 负数的移位、有符号数的移位转换为无符号数的移位
  3. 李清照 —— 别是一家
  4. 为hadoop集群安装mapreduce
  5. python怎么读write_python中write方法是如何使用?
  6. html军事学校模板,军事训练学校网站模板
  7. python爬虫怎么挣钱-月薪45K的Python爬虫工程师告诉你爬虫应该怎么学,太详细了!...
  8. python画3d图-Python绘制3D图形
  9. python安装教程-最新Python安装图文教程[很详细]
  10. python发音翻译-python实现在线翻译