MISC
注意数字
下载附件,是一张图片
进行binwalk,发现里面有zip,
于是进行foremost分离文件,分离出zip压缩包(我是在Windows下使用的foremost,分离后的文件会放在output中)
双击发现有密码,于是放入WinHex进行分析,发现是压缩包伪加密,改09为00,保存后成功打开压缩包。
(关于压缩包伪加密,这里不详细说了,要注意zip伪加密和rar伪加密方法不同)
获得一个文本文件
猜测为BASE64编码,尝试解码后发现不对,去除开头的b’和最后的’后继续尝试解码,在多次BASE64解码后,得到一串字符串:
yqjb{lha-drwohjw-ekf}
看着像凯撒密码,尝试过后发现不是,之后又尝试了栅栏、猪圈、QWE编码、ASII等多种方法,都没能解出来。
后来看了大佬的WP才知道是仿射密码,涨知识了。
仿射密码在线解密
题目提示注意数字,诗中的数字为3和9,输入3和9,解码,得到flag.
flag{six-yuntian-hjq}
小火龙冲啊
下载附件,是一张小火龙的图片,先进行binwalk,发现里面有zip压缩包,
于是改文件后缀为.zip,双击打开发现需要密码
将文件放入WinHex中,在最后发现了pass:
输入密码,获得flag
flag{gogogo_xiaohuolong}
我和十六有个约定
下载附件,有一张图片和一个压缩包
双击压缩包,发现有密码,猜测密码可能藏在图片中,于是对图片进行分析。
binwalk后发现图片是GIF格式的,但是只有一张图片,所以图片中并没有夹杂其他文件。
放入winhex,在最后发现了key字符串
输入后发现密码错误,结合题目,我与十六有个约定,猜测与十六进制有关,16进制转为字符串后,得到正确的密码: 十六进制转字符串
成功打开压缩包,里面有两个txt文本文件。
这个分析开头可以看出是base64转图片
得到一个二维码定位符
另外一个文本根据经验可以看出是十六进制数,格式应该是要放入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()
运行脚本,逆序成功
打开winhex,新建文件,将这些十六进制数粘贴进去,生成一个JPG文件
是一个缺少定位符的二维码,正好用base64转出的定位符进行拼接修复
扫码后得到flag:
flag{you_get_1t}
One_piece
下载附件,双击发现有密码,文件名为四个数字,用软件直接进行爆破
打开压缩包得到两个文件,一个.c文件,一个txt文件
先打开txt文件,发现社会主义核心价值观编码
解码后的到一串密文,可以看出是Brainfuck编码,进行Brainfuck解码
解码后得到
glbe{pnf_njedc_js_ufjs_kmvrocz!}
到这里就进行不下去了,猜测需要密钥,于是去分析另一个文件,
发现只要满足四个if语句就会输出key,很容易看出,满足四个if语句的条件分别是98,97,98,121
得到key为baby
于是尝试需要密匙解密的编码,用维吉尼亚编码解码得到flag
flag{one_piece_is_this_journey!}