“强网”拟态挑战赛MISC

weirdphoto

压缩包里有一张png图片和压缩包

里面的压缩包有密码,图片全是横纹估计需要调整宽高

image-20211112105657555

于是尝试用脚本进行爆破修改宽高

import binascii
import struct
import sys
file = input("图片地址:")
fr = open(file,'rb').read()
data: bytearray = bytearray(fr[0x0c:0x1d])
crc32key = eval('0x'+str(binascii.b2a_hex(fr[0x1d:0x21]))[2:-1])
#原来的代码: crc32key = eval(str(fr[29:33]).replace('\\x','').replace("b'",'0x').replace("'",''))
n = 4095
for w in range(n):
   width = bytearray(struct.pack('>i', w))
   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]
       crc32result = binascii.crc32(data) & 0xffffffff
       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
           sys.exit()

修复成功后得到一张照片,右边有英文

image-20211112105914997

当时做到这就卡住了,不知道这串字符是什么

(复盘)

看了wp才知道是栅栏密码,提取出来解码

image-20211112110549787

得到压缩包密码,解码,得到out文件

看到开头00000000后是2D312E,是pdf文件头的一部分

修改开头为25504446

得到pdf后用wbStego对pdf进行隐写提取

得到flag

bluewhale

解压得到一个流量包和一个压缩包,压缩包有密码

wireshark打开流量包,搜索password看有没有密码

搜索得到password

image-20211112112726383

尝试解压发现不是压缩包密码

然而压缩包里的一个txt文件名也叫password

尝试明文攻击

将这段th1sIsThEpassw0rD添加到txt里压缩成zip

进行发现crc一样,进行明文攻击,得到密码

image-20211112114608033

解压得到一个txt和png,用stegolve查看图片有没有隐写

发现进行data extract,发现是lsb隐写,得到flag

image-20211112114902259

bar

GIF文件,打开全是一帧一帧的黑白灰闪烁

GIFFrame打开保存所有帧到一个文件夹,黑色为1,白色为0,灰色空格,按顺序输入几个

复制到摩斯密码解码

image-20211112155839385

提示code93,搜索找到code93条码规范

条码规范——Code 93_kzhuangood的博客-CSDN博客

每9个一组,黑色为1白色为0

依次照着输入,对照编码表

image-20211112161036628

最后得到一串字符还有校验位

F0C62DB973684DBDA896F9C5F6D962

然后到在线生成条形码网站生成,其会自动去掉校验位

image-20211112161658377

最后其生成的码转成小写即为flag

mirror

图片在kali里binwalk、foremost没有啥结果

图片在kali里打不开,crc错误,所以用脚本进行修复宽高

image-20211112195851172

发现上下颠倒一张相同的图片

拉进010editor,发现结尾有png标识

image-20211112195253378

用脚本进行反转颠倒

data = open('full.png.png', 'rb').read()
data = data[::-1]
data = [data[i:i+16][::-1] for i in range(0, len(data), 16)]
# print(data[0])
print(len(data))
res = b''.join(data)
f = open('flag.png', 'wb')
f.write(res)
f.close()

出来两张一模一样的照片,跑盲水印试试

python bwmforpy3.py decode flag.png.png full.png.png flag.png
image-20211112200506808

可以看到有数字,镜像翻转一下根据hint就得到flag

CTF | 2021 第四届“强网”拟态防御国际精英挑战赛 SU WriteUp | MiaoTony’s小窝

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇