BUUCTF Misc [BJDCTF2020]鸡你太美 & [BJDCTF2020]一叶障目 & [SWPU2019]神奇的二维码 & 梅花香之苦寒来 & [BJDCTF2020]纳尼

目录

 

[BJDCTF2020]鸡你太美

[BJDCTF2020]一叶障目

[SWPU2019]神奇的二维码

梅花香之苦寒来

[BJDCTF2020]纳尼


 

[BJDCTF2020]鸡你太美

下载文件

BUUCTF Misc [BJDCTF2020]鸡你太美 & [BJDCTF2020]一叶障目 & [SWPU2019]神奇的二维码 & 梅花香之苦寒来 & [BJDCTF2020]纳尼_第1张图片

真没树枝,第一张是一个动图,第二张无法打开,使用010 editor打开这两张图

BUUCTF Misc [BJDCTF2020]鸡你太美 & [BJDCTF2020]一叶障目 & [SWPU2019]神奇的二维码 & 梅花香之苦寒来 & [BJDCTF2020]纳尼_第2张图片

BUUCTF Misc [BJDCTF2020]鸡你太美 & [BJDCTF2020]一叶障目 & [SWPU2019]神奇的二维码 & 梅花香之苦寒来 & [BJDCTF2020]纳尼_第3张图片

可以发现这个副本少了四个字节GIF0,添加

BUUCTF Misc [BJDCTF2020]鸡你太美 & [BJDCTF2020]一叶障目 & [SWPU2019]神奇的二维码 & 梅花香之苦寒来 & [BJDCTF2020]纳尼_第4张图片

保存,查看图片

BUUCTF Misc [BJDCTF2020]鸡你太美 & [BJDCTF2020]一叶障目 & [SWPU2019]神奇的二维码 & 梅花香之苦寒来 & [BJDCTF2020]纳尼_第5张图片

得到flag       flag{zhi_yin_you_are_beautiful}

[BJDCTF2020]一叶障目

下载文件

BUUCTF Misc [BJDCTF2020]鸡你太美 & [BJDCTF2020]一叶障目 & [SWPU2019]神奇的二维码 & 梅花香之苦寒来 & [BJDCTF2020]纳尼_第6张图片

使用010 editor打开

BUUCTF Misc [BJDCTF2020]鸡你太美 & [BJDCTF2020]一叶障目 & [SWPU2019]神奇的二维码 & 梅花香之苦寒来 & [BJDCTF2020]纳尼_第7张图片

可以看到报了个CRC错误,图片的高度或宽度被改过,自己改了改但没啥有用信息,找了个脚本

#coding=utf-8
import zlib
import struct
#读文件
file = '1.png'  #注意,1.png图片要和脚本在同一个文件夹下哦~
fr = open(file,'rb').read()
data = bytearray(fr[12:29])
crc32key = eval(str(fr[29:33]).replace('\\x','').replace("b'",'0x').replace("'",''))
#crc32key = 0xCBD6DF8A #补上0x,copy hex value
#data = bytearray(b'\x49\x48\x44\x52\x00\x00\x01\xF4\x00\x00\x01\xF1\x08\x06\x00\x00\x00')  #hex下copy grep hex
n = 4095 #理论上0xffffffff,但考虑到屏幕实际,0x0fff就差不多了
for w in range(n):#高和宽一起爆破
    width = bytearray(struct.pack('>i', w))#q为8字节,i为4字节,h为2字节
    for h in range(n):
        height = bytearray(struct.pack('>i', h))
        for x in range(4):
            data[x+4] = width[x]
            data[x+8] = height[x]
            #print(data)
        crc32result = zlib.crc32(data)
        if crc32result == crc32key:
            print(width,height)
            #写文件
            newpic = bytearray(fr)
            for x in range(4):
                newpic[x+16] = width[x]
                newpic[x+20] = height[x]
            fw = open(file+'.png','wb')#保存副本
            fw.write(newpic)
            fw.close

打开生成的1.png.png

BUUCTF Misc [BJDCTF2020]鸡你太美 & [BJDCTF2020]一叶障目 & [SWPU2019]神奇的二维码 & 梅花香之苦寒来 & [BJDCTF2020]纳尼_第8张图片

得到flag         flag{66666} 

[SWPU2019]神奇的二维码

下载文件

一个二维码,使用QR_research扫描

BUUCTF Misc [BJDCTF2020]鸡你太美 & [BJDCTF2020]一叶障目 & [SWPU2019]神奇的二维码 & 梅花香之苦寒来 & [BJDCTF2020]纳尼_第9张图片

flag不在这,使用kali的binwalk工具查看

BUUCTF Misc [BJDCTF2020]鸡你太美 & [BJDCTF2020]一叶障目 & [SWPU2019]神奇的二维码 & 梅花香之苦寒来 & [BJDCTF2020]纳尼_第10张图片

BUUCTF Misc [BJDCTF2020]鸡你太美 & [BJDCTF2020]一叶障目 & [SWPU2019]神奇的二维码 & 梅花香之苦寒来 & [BJDCTF2020]纳尼_第11张图片

四个压缩包,其中18394.rar需要密码,打开17012文件夹,里面一个flag.doc,内容是base64加密内容,解密(需要解密几十次),还是得上脚本

import base64

def decode(f):
	n = 0;
	while True:
		try:
			f = base64.b64decode(f)
			n += 1
		except:
			print('[+]Base64共decode了{0}次,最终解码结果如下:'.format(n))
			print(str(f,'utf-8'))
			break

if __name__ == '__main__':
	f = open('./base64.txt','r').read()
	decode(f)

BUUCTF Misc [BJDCTF2020]鸡你太美 & [BJDCTF2020]一叶障目 & [SWPU2019]神奇的二维码 & 梅花香之苦寒来 & [BJDCTF2020]纳尼_第12张图片

comEON_YOuAreSOSoS0great是第四个压缩包的解压密码,解压

8619513147a640c49beb50ab5d42f221.png

一个mp3文件,Audacity打开

BUUCTF Misc [BJDCTF2020]鸡你太美 & [BJDCTF2020]一叶障目 & [SWPU2019]神奇的二维码 & 梅花香之苦寒来 & [BJDCTF2020]纳尼_第13张图片

摩斯密码,'-'代表长, '.'代表短, '/'代表空格 

--/---/.-./..././../.../...-/./.-./-.--/...-/./.-./-.--/./.-/.../-.--

复制到摩斯密码在线

BUUCTF Misc [BJDCTF2020]鸡你太美 & [BJDCTF2020]一叶障目 & [SWPU2019]神奇的二维码 & 梅花香之苦寒来 & [BJDCTF2020]纳尼_第14张图片

转小写得到flag 

dc673c2b63b24636b2e8dc625427a132.png                 

得到flag                  flag{morseisveryveryeasy} 

梅花香之苦寒来

下载文件         (这题挺有意思)

BUUCTF Misc [BJDCTF2020]鸡你太美 & [BJDCTF2020]一叶障目 & [SWPU2019]神奇的二维码 & 梅花香之苦寒来 & [BJDCTF2020]纳尼_第15张图片

使用010 editor打开

BUUCTF Misc [BJDCTF2020]鸡你太美 & [BJDCTF2020]一叶障目 & [SWPU2019]神奇的二维码 & 梅花香之苦寒来 & [BJDCTF2020]纳尼_第16张图片

可以看到FF D9后面全是十六进制内容,复制到在线16进制转文本 

BUUCTF Misc [BJDCTF2020]鸡你太美 & [BJDCTF2020]一叶障目 & [SWPU2019]神奇的二维码 & 梅花香之苦寒来 & [BJDCTF2020]纳尼_第17张图片

 得到的内容挺有意思,应该是坐标,是不是就可以画图呢?把文本复制到1.txt中,使用gnuplot工具画图(我这里使用的是kali的)

但是gnuplot无法识别带括号和逗号的数据,还需要对数据进行处理,脚本

with open('erweima.txt','r')as a:
    a=a.read()
a=a.split()
tem=''
for i in range(0,len(a)):
    tem=a[i]
    tem=tem.lstrip('(')
    tem=tem.rstrip(')')
    for j in range(0,len(tem)):
        if tem[j]==',':
            tem=tem[:j]+' '+tem[j+1:]
    print(tem)

运行脚本,把得到的结果保存到erweima_output.txt中,使用画图工具进行画图

BUUCTF Misc [BJDCTF2020]鸡你太美 & [BJDCTF2020]一叶障目 & [SWPU2019]神奇的二维码 & 梅花香之苦寒来 & [BJDCTF2020]纳尼_第18张图片

得到一个二维码,使用QR_research扫描

BUUCTF Misc [BJDCTF2020]鸡你太美 & [BJDCTF2020]一叶障目 & [SWPU2019]神奇的二维码 & 梅花香之苦寒来 & [BJDCTF2020]纳尼_第19张图片

终于得到flag             flag{40fc0a979f759c8892f4dc045e28b820}

[BJDCTF2020]纳尼

下载文件

一个动图,但是打不开,使用010 editor查看

BUUCTF Misc [BJDCTF2020]鸡你太美 & [BJDCTF2020]一叶障目 & [SWPU2019]神奇的二维码 & 梅花香之苦寒来 & [BJDCTF2020]纳尼_第20张图片

开头9a,联想到GIF89a,所以在前面插入四个字节: 47 49 46 38  (GIF8)

BUUCTF Misc [BJDCTF2020]鸡你太美 & [BJDCTF2020]一叶障目 & [SWPU2019]神奇的二维码 & 梅花香之苦寒来 & [BJDCTF2020]纳尼_第21张图片

保存查看

动态图闪的有点快,使用Stegsolve逐帧查看

第一帧:

BUUCTF Misc [BJDCTF2020]鸡你太美 & [BJDCTF2020]一叶障目 & [SWPU2019]神奇的二维码 & 梅花香之苦寒来 & [BJDCTF2020]纳尼_第22张图片

第二帧:

BUUCTF Misc [BJDCTF2020]鸡你太美 & [BJDCTF2020]一叶障目 & [SWPU2019]神奇的二维码 & 梅花香之苦寒来 & [BJDCTF2020]纳尼_第23张图片

第三帧:

BUUCTF Misc [BJDCTF2020]鸡你太美 & [BJDCTF2020]一叶障目 & [SWPU2019]神奇的二维码 & 梅花香之苦寒来 & [BJDCTF2020]纳尼_第24张图片

第四帧:

BUUCTF Misc [BJDCTF2020]鸡你太美 & [BJDCTF2020]一叶障目 & [SWPU2019]神奇的二维码 & 梅花香之苦寒来 & [BJDCTF2020]纳尼_第25张图片

把这四帧的内容拼在一起: Q1RGe3dhbmdfYmFvX3FpYW5nX2lzX3NhZH0=  复制到base64在线

BUUCTF Misc [BJDCTF2020]鸡你太美 & [BJDCTF2020]一叶障目 & [SWPU2019]神奇的二维码 & 梅花香之苦寒来 & [BJDCTF2020]纳尼_第26张图片

得到flag              flag{wang_bao_qiang_is_sad}

 

你可能感兴趣的:(BUUCTF,Misc,python,开发语言,安全)