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

目录

 

[BJDCTF2020]鸡你太美

[BJDCTF2020]一叶障目

[SWPU2019]神奇的二维码

梅花香之苦寒来

[BJDCTF2020]纳尼


 

[BJDCTF2020]鸡你太美

下载文件

42cc603905d84172a3a346cc28887818.png

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

577bcc461acc457d9975bf3a49cc3301.png

80fb1cacd2c24c548fcaefb8e2fbd164.png

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

9fd2fe67c36049458c5b825727b830db.png

保存,查看图片

7b806a70dbe646adbb6a15da2f92d75d.png

得到flag       flag{zhi_yin_you_are_beautiful}

[BJDCTF2020]一叶障目

下载文件

441106c9dc654c78aeb1e7314238691b.png

使用010 editor打开

05e022ff82424aa887502c0a412422a0.png

可以看到报了个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

a15f0e3f08da4d8dadd736785ec8c696.png

得到flag         flag{66666} 

[SWPU2019]神奇的二维码

下载文件

一个二维码,使用QR_research扫描

8a973657b72c427fa6e7ea9020b6f62c.png

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

a7924687be11438bb5e57d56c6f7772b.png

8906384b3a1e4f1e87c09db9c7832e20.png

四个压缩包,其中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)

42e1dca7eead48eea5b7c0292cf6b017.png

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

8619513147a640c49beb50ab5d42f221.png

一个mp3文件,Audacity打开

85ee3a1cd982417991efdcbbef214431.png

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

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

复制到摩斯密码在线

fe1a08d911284d3fb6329e4a9f4a2b39.png

转小写得到flag 

dc673c2b63b24636b2e8dc625427a132.png                 

得到flag                  flag{morseisveryveryeasy} 

梅花香之苦寒来

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

f9a0a6f9865a43e9b468a81eb541e8a7.jpeg

使用010 editor打开

f46cc76a436f49ed8aea4b6fc4ee23a0.png

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

520bf1558b9c4582812a38a96b11fec4.png

 得到的内容挺有意思,应该是坐标,是不是就可以画图呢?把文本复制到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中,使用画图工具进行画图

5ae6662ecb104b4c99dbbb366b54eb76.png

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

618511da74914c80a50d0743b265f689.png

终于得到flag             flag{40fc0a979f759c8892f4dc045e28b820}

[BJDCTF2020]纳尼

下载文件

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

1d910082b5c04433b5b8c22187c8352b.png

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

540b8474dafe4c59972f67ac161c0f56.png

保存查看

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

第一帧:

a0bf04e0607540a89116191685d8ebbe.png

第二帧:

e47cea6c12324f699bcbaa05fb43d7b2.png

第三帧:

d5ff7f9f7b9f412ab8b01e0c90d4a57d.png

第四帧:

6c817d88e32443069645a066ed136b9b.png

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

90bdfdef50054c29ad9b27d9e659cd90.png

得到flag              flag{wang_bao_qiang_is_sad}

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WmVicmE=

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值