目录
前言&概述:
本次御网杯半决赛密码方向共四个题目,设计base64、古典密码、代码审计、ASCII。
本次密码学题目的难度相对来说难度并不高,基本可以使用工具一把梭,难度最高的是Find_flag,
因为涉及到了代码审计;分值最高的反而很简单,但是接解题的人却不多,可能大家觉得分值很高可能连看都没看吧,不去尝试一下怎么知道自己行不行呢?
吐槽:本以为跟线上赛一样中午停止然后吃饭,看到指南上的自助餐感觉挺爽了,结果就很那啥了,整整一天在体育馆手机收走就一直呆一天,中午饿得要死发了一个小面包以为这是饭前垫垫肚子然后12点就就停止去吃自助,好好好结果给我拉了陀大的现场发华莱士的时候就顿感不妙,这就算了结果都是凉的( º﹃º );吃的肚子疼了一下午,主包当时真的是欲哭无泪啊( ´•̥̥̥ω•̥̥̥` )下午又来个大的就一块肉夹馍我直接就是一个好家伙,原本打算半决赛搞完就撤的因为后面的会的不多谁想到最后还混了一个……一等奖;这是主包完全意料之外的,明明线上赛主包的战绩一塌糊涂也就2千名这个水平,结果线下让主包混入了总决赛还拿了一等奖直接给主包干懵了d(`・∀・)b(一等奖可以免费获取nisp一级虽然没啥用(・ε・))
总之有些难绷(̿▀̿ ̿Ĺ̯̿̿▀̿ ̿)̄;加上主包是比赛前5天才买的笔记本资料字典啥的都没导完,整个大一也没好好学基本都是瞎混知识缺乏挺多的,后面ctf的东西总共加起来看的也就不到俩星期真的没把握,打算去去就回的结果是真没有想到呀;
1.ez_classical
1、这题我们拿了一血,这题分值我个人认为显然不符合本题难度。拿到题目第一眼以为这不直接revser一下直接拿下flag吗但是想到这题300分不可能这么简单。
}HSM57Sks08x6KYHSM{lfqk
2、 这一看就涉及古典密码,不是凯撒就是维吉尼亚。
-
凯撒密码
-
维吉尼亚密码
3、结果直接用随波逐流凯撒就出flag了这也是我没想到的,所以往往你以为很困难的东西并不一定是最困难的,不是是怎么能知道呢?人生也是如此,不去试试怎么就知道自己不行呢?
2.YWB_Crypto_01
(送分题)
小明在做中间人攻击时,截取了这样一段信息传输内容“4WC2ZZVNUPSYLLHGVWR6LBNM42W2HZMPRPSZNBHFQWWONLND4WC2ZZVNUPTLBEPEXC56LBNM42W2HZVTSXTLFO7GWOK6NMV35CXZVZF7UHTLBEPEXC56LBNM42W2HZMSRTULBEHFQWWONLND42K2ZZFYTLTLHFPGWK56LEUM5CYJBZVTSXTLFO7FV6GOLPF24W43HZ5NRHSY7C7FS2CONFNM4S4JVZMFVTTK3I7FR6F6LFUE46ELDZM3XXSYLLHGVWR6NFNM4S4JVZVTSXTLFO7FSKGORMEQ42ZZLZVSXPS27DHFXS5OLONT46WYTZMPRPSZNBHGSWWOJOE24WJIZ2FQSDTLBEPEXC56LEUM5CYJBZUWQ7TJRDXFSKGORMEQ4WJIZ2FQSDTLHFPGWK56RL424S72DZMSRTULBEA=” 请帮你他解开谜底吧。
4WC2ZZVNUPSYLLHGVWR6LBNM42W2HZMPRPSZNBHFQWWONLND4WC2ZZVNUPTLBEPEXC56LBNM42W2HZVTSXTLFO7GWOK6NMV35CXZVZF7UHTLBEPEXC56LBNM42W2HZMSRTULBEHFQWWONLND42K2ZZFYTLTLHFPGWK56LEUM5CYJBZVTSXTLFO7FV6GOLPF24W43HZ5NRHSY7C7FS2CONFNM4S4JVZMFVTTK3I7FR6F6LFUE46ELDZM3XXSYLLHGVWR6NFNM4S4JVZVTSXTLFO7FSKGORMEQ42ZZLZVSXPS27DHFXS5OLONT46WYTZMPRPSZNBHGSWWOJOE24WJIZ2FQSDTLBEPEXC56LEUM5CYJBZUWQ7TJRDXFSKGORMEQ4WJIZ2FQSDTLHFPGWK56RL424S72DZMSRTULBEA=
1、这段很显然是base32的特征因为都是大写字母,直接上厨子解一下
2、分析这是社会主义核心价值观解码,直接上随波逐流,flag就出了
3.YWB_Crypto_02
(送的)
CTF赛题的解一般以flag为开头,已知字符串“a3FmbHs4Mjlfb244N184OHVwfQ==”,请给出对应的flag值。
1、一看这我直接一手base64解码,外加一手凯撒爆破,难度和300分的几乎没区别,主包也没搞懂300分那道题为啥那么多人不去试一试,所以呀人生就是需要不断的去尝试呢!
4.Find_flag5
1、这道题相对复杂一些,主要需要代码审计
2、下发解压之后附件中有两个文件,很显然这就是让我们通过分析代码得出flag
3、打开就是这样的界面,可以判断只有正确的token值才能出发真正的flag
4、前端代码还是挺清晰的,主要是通过bm函数去给fg进行一些列的加密这个加密后的值就是flag值,ic用于判断输入的令牌是否是正确的,如果输入的令牌是正确的就会输出flag,这题的关键点就是bm能够顺利的执行下去
5、打开后端代码一看乱七八糟的,但是最主要的函数就是ck()这个函数
6、前面s传递经过一些列的加密到达ck()这个函数这里如果,ck函数主要是字符验证,如果字符验证失败就返回false并且加密不会继续下去从而无法获取真正的flag
概念 | 是否相关 |
---|---|
ck(s) 输入校验 | ✅ 是 flag 生成的前提条件 |
hm(s) 加密过程 | ✅ 只有在验证通过后才会执行 |
ic 全局变量 | ✅ 控制流程的关键开关 |
7、 所以我们输入的字符,必须要符合这里的字符验证,这里验证就是a数组里的所有ASCII值减去我们输入的字符的ASCII不等于3就不通过也就是要保证a里面的字符减去我们输入的字符每个ASCII值都等于3,那样我们只需要把我们字符的ASCII值基于a的ASCII减3就可以了,这里我直接使用excel智能分割一下然后减3就可以得到符合条件的ASCII值然后将这个十进制的ASCII转换成字符就是符合本题的字符了;
8、先复制到txt文档中然后复制到word中把制表符换成空格提纯出正规格式的10进制ASCII
9、将提纯后的十进制字符放入随波逐流转字符就可以得到符合条件的字符了
xecuri-HNCTF
10、把这串字符页面中输入就得到了flag{6Yxzd9+P+/B3DbRoiScpqA}
总结:
御网杯半决赛密码方向比赛总结
比赛概述
本次比赛共4道密码学题目,涉及Base64、古典密码、代码审计、ASCII编码等知识点。整体难度不高,但考验选手对常见密码工具的熟练运用和代码分析能力。部分题目分值设置与预期难度不符,导致一些高分题反而因“畏难心理”被忽略。
题目复盘
1. ez_classical(300分)
-
关键点:古典密码(凯撒/Vigenère)
-
解法:题目看似需要复杂分析,实则直接通过凯撒爆破(如“随波逐流”工具)即可秒破。
-
反思:高分段题目未必难,需敢于尝试。
2. YWB_Crypto_01(送分题)
-
关键点:Base32 + 社会主义核心价值观编码
-
解法:
-
根据大写字母特征识别为Base32,解码后得到密文。
-
使用“社会主义核心价值观解码”工具直接出Flag。
-
-
反思:熟悉编码特征和工具链能快速解题。
3. YWB_Crypto_02(送分题)
-
关键点:Base64 + 凯撒移位
-
解法:Base64解码后凯撒爆破,与300分题难度相当。
-
吐槽:题目难度与分值不匹配,需理性看待题目描述。
4. Find_flag5(代码审计)
-
关键点:前端加密逻辑 + 后端字符校验(
ck()
函数) -
解法:
-
分析代码发现需通过
ck(s)
校验,要求输入字符的ASCII值满足a[i] - s[i] = 3
。 -
用Excel处理
a
数组的ASCII值,减3后转为字符,得到合法输入xecuri-HNCTF
。 -
输入后触发加密逻辑,输出Flag。
-
-
反思:代码审计需聚焦关键函数(如校验逻辑),工具辅助(如Excel)能提升效率。
经验与吐槽
-
敢于尝试:高分段题目可能“纸老虎”,如300分题实为凯撒爆破。
-
工具熟练度:随波逐流、Base系列工具、Excel数据处理等能大幅提速。
-
线下赛体验:
-
主办方安排槽点:饥饿作战(华莱士冷餐+小面包)、长时间封闭。
-
意外收获:线上赛表现一般,线下却混到一等奖(免费NISP证书)。
-
-
心态调整:比赛充满不确定性,保持灵活应对才能逆袭。
总结:比赛不仅是技术比拼,更是心态和策略的考验。简单题目需稳拿,复杂题目抓关键,生活亦如此——“不去试试,怎知不行?”
(完)