封神台_高校CTF_Misc入门

杂项1:图片隐写

基操:甩winhex看看
题一
哟,HTML编码,key{z-nsdiua}

杂项2:密文在这里,看看你是否能解开

密文:M6UUSlt6rxWO328Kez8xXCMd
提示:重复敲击两次,密码是6位数
还有信息:rtygcvb ,ujmko,ujmko
“敲击”+做题经验,在键盘上,形状为ZVV,“重复敲2次”,猜测密钥前3位和后3位一样的。用在线网站,第一个:

https://www.sojson.com/encrypt_rc4.html

这个网站奇了!我密钥没毛病,密文写在合适的位置(右边)总解密失败。之后是怀疑密钥不对,联想了又好多…结果官方writeup就是zvvzvv,换个网站:

https://www.lddgo.net/encrypt/rc4

这个。。密钥不支持string,hex不对,换base64照了。不懂原因
key{zkz-good-kkey}

杂项3:一段特殊的ascii密文

不会,看眼WriteUp
鬼才,里面加凯撒是吧?但确实有道理,要结果是字符,而ascii码48~57(零到九的数字)65–90(A–Z)97–122(a–z)开头往flag凑,凯撒的密钥为13,写个脚本。

liststr=''
listnum=[83,121,110,116,71,115,121,110,116,136,135,120,135,108,110,126,115,112,63,61,63,62,108,67,63,69,108,76,76,76,76,138,90,113,66,71,112,110,66,62,62,67,112,112,66,111,112,67,113,63,110,114,69,66,65,110,111,111,113,68,61,63,112,69,68,68,68]
for i in range(0,len(listnum)):
    strch=chr(listnum[i]-13)
    liststr=liststr+strch
print(liststr)

结果:Flag:flag{zkz_aqfc2021_628_???}Md5:ca5116cc5bc6d2ae854abbd702c8777
行,得了,拿md5碰撞去吧

https://www.somd5.com/

无法解密!!aaa再看一眼WriteUp,噢~这串md5不是只代表????,是表示前面整一个的内容。这类脚本不会写(不知道怎么去碰撞),copy一下:

import hashlib
flag_md5 = 'ca5116cc5bc6d2ae854abbd702c8777d'
strs = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%&()*+,-./:;<=>?@[\]^_`{|}~ "
for a in strs:
    for b in strs:
        for c in strs:
            for d in strs:
                md5 = hashlib.md5()
                flag = 'flag{zkz_aqfc2021_628_' +str(a)+str(b)+str(c)+str(d)+'}'
                md5.update(flag.encode())
                if md5.hexdigest() == flag_md5:
                    print(flag)
                    strs=''

flag{zkz_aqfc2021_628_zxcv}
(他跑了好久。。原代码if成功输出后还会跑,加break只能跳出当前循环,所以我加了strs=''对原程序做了优化)
知识补充:
在Python中,将ASCII码转换成字符的方法是使用内置函数chr()。 chr()接收一个整数作为参数,并返回与该整数对应的字符
ord()函数的作用相反:它接收一个字符参数,并返回与该字符对应的ASCII码

杂项4:一个加密的xlsx表格

这类甩winhex就有flag的我太喜欢了~
表格加密

杂项5:刚刚截获德军的密电

题目:
刚刚截获了德军的密电,密文很重要,决定着战争的走向。
密电:
FA XX DD AG DD XA FF FF AX DX
嘶~说来此题,我当时查的是恩尼格码(Enigma)这玩意不也是德军密电嘛(还是著名二战的密码事件),猜到flag是10个字符,但Enigma(你干嘛)对不上号呐(总不能密文俩字符对明文一字符,一看就不是十六进制)。。。不会。看writeup
ADFGVX加密
棋盘密码,但我找的网址https://www.jianshu.com/p/caa5daf8390a的代换表和writeup的不一样,很异或。(同S盒类似)
flagabxxmo

杂项6:简单加密

synt{mxnd_pgs_xxxebg13}且提示rot,秒了!
简单

杂项7:社会主义核心价值观

题目是最好的提示,该编码也很有特点。秒了!
核心

杂项8:奇怪的短信

33 53 21 41 94 52 21 72 74 42
开始我想和第三题一段特殊的ascii密文一样移位,变成ascii码。试之前突然想到:“短信用什么发的?”以前用老人机和(曾经的)她发过短信,试了一下是不是九键。个位数恰在(1~3or1–4)之间,正好英文九键每个数字下三个字母。结果:flagzkaqsh

杂项9:SOS的求救信息

哇,一看摩斯,工具一开得到FHFLQAAGCZGKAZL,前面加flag–>秒了!error!!
噢噢噢噢噢~~!转小写,浅写个脚本:

print('FHFLQAAGCZGKAZL'.lower())

前面加flag–>秒了!error!!噢噢噢噢噢~~!
难道就要放弃吗!难道又要去瞄WriteUp吗!仔细观察,好像有点栅栏意思,试一下
栅栏
也不对!。。。。。。。看一眼WriteUp…额不预评价,我这栅栏栏数7和题解不一样,还有题解得到的结果为什么要倒着读?还是从中间的位置?不理解。没意义

杂项10:Base

zkzctf{base64_base16}
base64–>base32–>base16

杂项11:这是我最喜欢的女明星

放百度识别,Chingmy Yau,邱淑贞,英文名前面不加flag

杂项12:打由诗

由口中,由口井,圭土,由口人,由中人,由中中,由口主,由中中,圭土,由凹凸,由由中,由目圭,克工
当铺密码
102,108,97,103,123,122,107,122,95,100,112,109,109,54

listnum=[102,108,97,103,123,122,107,122,95,100,112,109,109,54]
for i in range(0,len(listnum)):
    strch=chr(listnum[i])
    liststr=liststr+strch
print(liststr)

跑出来是flag{zkz_dpmm6,题目有点问题

杂项13:佛说

flag{zkaq_fochan}
与佛论禅

杂项14:奇怪的Base加密

这个得记一下:
大长串的base64码八成是图片转来的。开头一定要加上:data:image/jpg;(后面是base64)
解码地址:http://tool.chinaz.com/tools/imgtobase/

杂项15:跳舞小人

我还以为是密码跳舞的小人。先下gif,stegsolve进行Frame Browser逐帧读取(共10张)
二维码
QR research一下:flag{GC-ACUID}

杂项16:神秘图片

笔者做这题的时候404forbid,wp说下图,证明确实404做不了

杂项17:可达鸭

一看就知道改png的宽高:
png的
左宽,右高。这张图把高改高些(1–>E)
结果

杂项18:一组神秘的图片

不会,看WP,白色换成0,黑色换成1,得出一串二进制?强。
flag{g-cg}

杂项19:神奇的压缩包加密

flag{zkz-AgCC}
zip伪加密
python ZipCracker.py ctf_flag.zip
flag.txt里面直接是结果

杂项20:损坏的png

一开图,(裂开的图片),题目提示:损坏的png,证明,他是png,但被改了。放进winhex里看一看:
初图
(固定)八个字节89 50 4E 47 0D 0A 1A 0A为png的文件头
(固定)四个字节00 00 00 0D(即为十进制的13)代表数据块的长度为13
(固定)四个字节49 48 44 52(即为ASCII码的IHDR)是文件头数据块的标示(IDCH)
(可变)13位数据块(IHDR)
前四个字节代表该图片的宽
后四个字节代表该图片的高
后五个字节依次为:
Bit depth、ColorType、Compression method、Filter method、Interlace method
(可变)剩余四字节为该png的CRC检验码,由从IDCH到IHDR的十七位字节进行crc计算得到
png
(这里png知识来自http://t.csdn.cn/vgw5a)
可见:文件头png标志得改下89 50 4E 47 0D 0A 1A 0A:
改后
之后:
结果

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值