莲城杯
煤矿路口西 Lv4

首届“莲城杯”网络安全技能大赛


BitMap

bmp爆破宽度

import struct
import zlib
f = open('BitMap','rb')
c = f.read()
width = c[18:22]
height = c[22:26]
# 爆破bmp宽度
for i in range(900,1306):
f1 = open(str(i)+'.bmp','wb')
# print(struct.pack('>i',i)[::-1])
img = c[:18]+struct.pack('>i',i)[::-1]+c[22:]
f1.write(img)
f1.close()

得到宽度为900

图片本身高度为-300

改为

1

参考强网杯三体那道题的思路

with open('900.bmp', 'rb') as f:
d = f.read()
w = 900
h = 300#图片显示为-300
b = 4
l = bytearray(d)
off = l[10]
for i in range(h):
for j in range(w):
l[off+j*b+i*b*w] = l[off+j*b+i*b*w+3]
with open('threebody_new.bmp', 'wb') as f:
f.write(l)

得到

2

镜像一下,得到

IRAVGQ2UIZ5TAMBXMJSDIOJRHEYTKMRXG5STEMTEGIYDKZDFMU2DEOLGGQZDIYL5

3

DASCTF{007bd491915277e22d205dee429f424a}

midi player

4

查看源码得到了mid

5

flag{Th3_M1D1_SteGh1d3_is_T0_1asy}

解密试试

strings看到flag.txt

但filescan却始终没有,考虑是被删除了

6

却发现了hint.txt

dumpfiles扒下来看看

7

找系统密码

8

9

passwd123

根据思路,http://www.jsons.cn/rabbitencrypt/

继续找明文

在剪贴板里找到完整明文

10

11

DASCTF{bad935cc4824223e69162bc68f25275e}

  • 本文标题:莲城杯
  • 本文作者:煤矿路口西
  • 创建时间:2021-10-15 16:58:32
  • 本文链接:http://www.mklkx.xyz/2021/10/15/莲城杯/
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!