CTF秀-菜狗杯

1、杂项签到

CTF秀-菜狗杯_第1张图片

附件是png格式图片,用stegsolve打不开,用kali查看无果,查看图片属性也没有flag,最后用010edit打开,文本搜ctfshow得到flag,或者文本形式打开搜show,真菜

CTF秀-菜狗杯_第2张图片

CTF秀-菜狗杯_第3张图片

2、损坏的压缩包

下载的压缩包打不开,提示已损坏

CTF秀-菜狗杯_第4张图片

根据上一题的经验,放到010edit里看一看,010edit是个好东西,发现文件头是png

CTF秀-菜狗杯_第5张图片

修改压缩包后缀png,图片显示flag

CTF秀-菜狗杯_第6张图片

3、谜之栅栏 

CTF秀-菜狗杯_第7张图片

两张图片找不同,还是用010,这里有个文件比较功能,学到了新知识,往下滚动找不同,发现两处字符串不一样,隔一位取数,题目:栅栏!用工具解栅栏密码

CTF秀-菜狗杯_第8张图片

 CTF秀-菜狗杯_第9张图片

4、你会数数吗

CTF秀-菜狗杯_第10张图片

 无后缀的文件,最先想到用文本方式打开看看,看到一串字符,可能是统计字符串中字母出现的频数?看了wp上010,用到功能直方图——>无符号字节——>降序排序,新知识

CTF秀-菜狗杯_第11张图片

 5、你会异或吗

神秘数字:0x50

附件为png图片,打不开,老惯例放到010里查看

CTF秀-菜狗杯_第12张图片

结合题目提示异或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]))

CTF秀-菜狗杯_第13张图片

6、flag一分为二

根据提示图片放010,修改高度

CTF秀-菜狗杯_第14张图片

 用盲水印工具提取图片上的水印,得到另一半flag,这里用到盲水印工具

7、You and me

两个图片一模一样,猜测是原图加水印图CTF秀-菜狗杯_第15张图片

python3 bwmforpy3.py decode you.png you_and_me.png wm1.png

CTF秀-菜狗杯_第16张图片

CTF秀-菜狗杯_第17张图片 

水印即flag:ctfshow{CDEASEFFR8846}

看不到的图片

png结尾一般是

00 00 00 00 49 45 4E 44 AE 42 60 82

CTF秀-菜狗杯_第18张图片

 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)

CTF秀-菜狗杯_第19张图片

 

 

你可能感兴趣的:(web安全)