第三届河北师范大学信息安全挑战赛(HECTF2019) 部分做题记录
WEB部分
【Romance签到】
查看源码href="source.php" 找到hint.php
打开是:
♭‖§∮♯♭‖§∮♬♭‖§§♫♭‖§∮§♭‖§♩§♭‖♯♬¶♭‖§§♫♭‖§§¶♭‖♯¶§♭‖♯¶♫♭‖§∮♭♭‖§§♫♭‖§§♬♭‖♯♬♪♭‖♯¶♪♭‖♯¶‖♭‖♯¶♯♭‖♯♬♬♭‖♯♬♪♭‖♯¶♯♭‖♯¶♯♭‖♯¶∮♭‖§∮♭♭‖♯♬♪♭‖§§♬♭‖♯¶§♭‖♯¶‖♭‖§§♬♭‖♯♬♪♭‖§§♫♭‖♯¶♪♭‖♯¶♫♭‖♯¶§♭‖§∮♭♭‖♯♬¶♭‖♯♬♬♭‖♯¶‖♭‖♯¶♫♭‖♯¶∮♭‖♯¶∮♭‖§§♫♭‖§♩♪‖‖‖♭§♪==
一遍音符一遍盲文解密。连接戳我。
flag{1ac59eab-7240-446e-b52b-a795e102966a}
misc部分
【咕咕咕果】
当时没做上,访问https://www.google.com/flag.txt即可获取flag。(我佛了
【这是一个极其简单的签到题】
gif分帧,翻转后得到flag。
【印证血统的时候到了】
f12找到一段颜文字,放控制台一运行就ok。
【Saikou!】
这道题很荣幸拿下来了一血qwq。。可惜自己没有号,用了队友的。
foremost提取图片,得到一个加密的压缩包。
怀疑是明文攻击。使用PKcrack工具,得到压缩密码为:4aqwe!#AS5
(pkcrack这里有点坑,得放在它同级目录下,而且把”!“去掉才行。)
解压有一个txt文档,用010editor打开的得到:
—..—..———.—.—..— ...—...—...—.... .—..———....——..— ..—..—.......—.. ..—.—..———.—.—..
以为是摩斯密码,仔细看只有两种字符,后来怀疑是培根,把.换成a,-换成b解密得到SOURCECODESAIKOU
【cute_bird 】
提取base64,转化为图片,是花的。
然后根据CRC的值,爆破宽:
import os import binascii import struct misc = open(r"temp.png","rb").read() for i in range(1024): data = misc[12:16] + struct.pack('>i',i)+ misc[20:29] crc32 = binascii.crc32(data) & 0xffffffff if crc32 == 0x7E7F049D: print (i)
得到750,利用010editor修改宽度即可。
【哪吒?!】
常规题,foremost提取后,改掉伪加密即可。
crypto部分
【啥玩意啊】
flag由3部分组成:hebctf{flag1-flag2-flag3}
part1:
flag1由5个字符组成,sha1加密后:8af093ec12abbd25a82abd6d5ed8080afbbfa098
前3个字符为:odm
第4个字符是个小写字符,最后一个是个数字
上脚本:
import string import hashlib import re #所有小写字母 zm = string.ascii_lowercase # 输出包含数字0~9的字符串 sz = string.digits for i in zm: for j in sz: flag = "odm"+i+str(j) flagmd5 = hashlib.sha1(flag.encode('utf-8')).hexdigest() if(re.findall("8af093ec12abbd25a82abd(.*?)",flagmd5)): print(flag)
得到odms1
part2:
flag2:playfair加密(有意义的单词)
message:kbkyhs
key:flag1去掉数字
用这个网站进行playfair解密,得到helxlo。
part3:
flag3:仿射加密
key1:它是第3个合格的仿射加密key1(那仿射密码对key1有什么要求?)
key2:凯撒密码向后移几位它就是几
message:srpnv
key1很明显是5/key2猜是3
解密网址
得到disco。
hebctf{odms1-hello-disco}
剩下没做过的/没做上来的参考官方的wp
比赛收获新姿势是最快乐的:P