第二届金盾信安杯部分WP

MISC

注意数字

下载附件,是一张图片
第二届金盾信安杯部分WP_第1张图片

进行binwalk,发现里面有zip,
第二届金盾信安杯部分WP_第2张图片
于是进行foremost分离文件,分离出zip压缩包(我是在Windows下使用的foremost,分离后的文件会放在output中)

第二届金盾信安杯部分WP_第3张图片

双击发现有密码,于是放入WinHex进行分析,发现是压缩包伪加密,改09为00,保存后成功打开压缩包。
(关于压缩包伪加密,这里不详细说了,要注意zip伪加密和rar伪加密方法不同)
第二届金盾信安杯部分WP_第4张图片
获得一个文本文件
第二届金盾信安杯部分WP_第5张图片
猜测为BASE64编码,尝试解码后发现不对,去除开头的b’和最后的’后继续尝试解码,在多次BASE64解码后,得到一串字符串:

yqjb{lha-drwohjw-ekf}

看着像凯撒密码,尝试过后发现不是,之后又尝试了栅栏、猪圈、QWE编码、ASII等多种方法,都没能解出来。
后来看了大佬的WP才知道是仿射密码,涨知识了。
仿射密码在线解密
第二届金盾信安杯部分WP_第6张图片
题目提示注意数字,诗中的数字为3和9,输入3和9,解码,得到flag.

flag{six-yuntian-hjq}

小火龙冲啊

下载附件,是一张小火龙的图片,先进行binwalk,发现里面有zip压缩包,
第二届金盾信安杯部分WP_第7张图片
于是改文件后缀为.zip,双击打开发现需要密码
第二届金盾信安杯部分WP_第8张图片

将文件放入WinHex中,在最后发现了pass:
在这里插入图片描述
输入密码,获得flag
在这里插入图片描述

flag{gogogo_xiaohuolong}

我和十六有个约定

下载附件,有一张图片和一个压缩包
第二届金盾信安杯部分WP_第9张图片
双击压缩包,发现有密码,猜测密码可能藏在图片中,于是对图片进行分析。第二届金盾信安杯部分WP_第10张图片
binwalk后发现图片是GIF格式的,但是只有一张图片,所以图片中并没有夹杂其他文件。
放入winhex,在最后发现了key字符串
在这里插入图片描述
输入后发现密码错误,结合题目,我与十六有个约定,猜测与十六进制有关,16进制转为字符串后,得到正确的密码: 十六进制转字符串
第二届金盾信安杯部分WP_第11张图片
成功打开压缩包,里面有两个txt文本文件。
第二届金盾信安杯部分WP_第12张图片
这个分析开头可以看出是base64转图片第二届金盾信安杯部分WP_第13张图片
得到一个二维码定位符
第二届金盾信安杯部分WP_第14张图片
另外一个文本根据经验可以看出是十六进制数,格式应该是要放入winhex进行生成文件的,分析第一行,发现第一行的最后是JPG文件格式的逆序,猜测这个文本每一行都是逆序后的,于是写脚本进行逆序。
(对文件格式不了解的参考常见文件文件头)

re = []
s = open("./flag1.txt", 'w')     #以覆盖的方式进行写文件
f = open('./flag.txt');          #打开文件,进行读取内容

for line in f.readlines():       #调用readlines()一次读取所有内容并按行返回list
    re = line.split(' ')         #split()函数以空格为划分生成了一个新的列表并放入re[]中
    re = re[:-1]                 #因为readlines返回的每一行最后都有/n换行符,所以要去掉
    re = re[::-1]                #使列表中的值逆序
    s.write(" ".join(re) + '\n') #join()函数用于列表格式化输出,用空格相连接

s.close()

运行脚本,逆序成功
第二届金盾信安杯部分WP_第15张图片
打开winhex,新建文件,将这些十六进制数粘贴进去,生成一个JPG文件第二届金盾信安杯部分WP_第16张图片
是一个缺少定位符的二维码,正好用base64转出的定位符进行拼接修复

第二届金盾信安杯部分WP_第17张图片
扫码后得到flag:

flag{you_get_1t}

One_piece

下载附件,双击发现有密码,文件名为四个数字,用软件直接进行爆破
第二届金盾信安杯部分WP_第18张图片
第二届金盾信安杯部分WP_第19张图片
打开压缩包得到两个文件,一个.c文件,一个txt文件
在这里插入图片描述
先打开txt文件,发现社会主义核心价值观编码第二届金盾信安杯部分WP_第20张图片
第二届金盾信安杯部分WP_第21张图片
解码后的到一串密文,可以看出是Brainfuck编码,进行Brainfuck解码
第二届金盾信安杯部分WP_第22张图片

解码后得到

glbe{pnf_njedc_js_ufjs_kmvrocz!}

到这里就进行不下去了,猜测需要密钥,于是去分析另一个文件,
发现只要满足四个if语句就会输出key,很容易看出,满足四个if语句的条件分别是98,97,98,121
第二届金盾信安杯部分WP_第23张图片
得到key为baby
于是尝试需要密匙解密的编码,用维吉尼亚编码解码得到flag
第二届金盾信安杯部分WP_第24张图片

flag{one_piece_is_this_journey!}

你可能感兴趣的:(CTF)