1、杂项签到
附件是png格式图片,用stegsolve打不开,用kali查看无果,查看图片属性也没有flag,最后用010edit打开,文本搜ctfshow得到flag,或者文本形式打开搜show,真菜
2、损坏的压缩包
下载的压缩包打不开,提示已损坏
根据上一题的经验,放到010edit里看一看,010edit是个好东西,发现文件头是png
修改压缩包后缀png,图片显示flag
3、谜之栅栏
两张图片找不同,还是用010,这里有个文件比较功能,学到了新知识,往下滚动找不同,发现两处字符串不一样,隔一位取数,题目:栅栏!用工具解栅栏密码
4、你会数数吗
无后缀的文件,最先想到用文本方式打开看看,看到一串字符,可能是统计字符串中字母出现的频数?看了wp上010,用到功能直方图——>无符号字节——>降序排序,新知识
5、你会异或吗
神秘数字:0x50
附件为png图片,打不开,老惯例放到010里查看
结合题目提示异或0x50,发现D9异或50得89,00异或50得50,1E异或50得4E,17异或50得47,89 50 4E 47 正好是图片格式png的头,现在要写脚本了不会
f=open('misc5.png','rb')#打开文件
d=f.read()#读取文件内容,字节类型
with open('wuwu.png','wb') as ff:#创建wuwu.png,并写入内容
for dd in d:
ff.write(bytes([dd^0x50]))
6、flag一分为二
根据提示图片放010,修改高度
用盲水印工具提取图片上的水印,得到另一半flag,这里用到盲水印工具
7、You and me
两个图片一模一样,猜测是原图加水印图
python3 bwmforpy3.py decode you.png you_and_me.png wm1.png
水印即flag:ctfshow{CDEASEFFR8846}
看不到的图片
png结尾一般是
00 00 00 00 49 45 4E 44 AE 42 60 82
7E异或82=100,A0异或60=100,由此可见把文件异或100即可,上脚本
path = 'misc55.png'
new_path = 'new1.png'
def jian(file_path):
# 以二进制读取图片
with open(file_path, 'rb') as f:
data = f.read()
a=[]
for i in data:
if i ==0:
a.append(i)
else:
a.append(0x100 - i)
with open(new_path, 'wb') as f:
f.write(bytes(a))
# 调用
jian (path)