buildctf-misc复现


题目附件:

1
2
3
4
通过百度网盘分享的文件:bulidctf.rar
链接:https://pan.baidu.com/s/1yoDi8B-PqC7Y44ComkWaNg?pwd=sors
提取码:sors
--来自百度网盘超级会员V3的分享

misc

Black&White


下载附件

解压缩,按照黑白图片转二维码
exp:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from PIL import Image

import os



# 创建一个新的空白图像

result = Image.new("RGB", (33*216, 33*216))



# 遍历文件夹中的图片

for i in range(1089):

    img_path = f"E:\\脚本合集\\赛题脚本\\buildctf\\01\\images\\{i}.jpg"  # 图片文件名

    if os.path.exists(img_path):  # 确保文件存在

        img = Image.open(img_path)  # 打开图像

        x = (i % 33) * 216  # 计算图像放置的横坐标

        y = (i // 33) * 216  # 计算图像放置的纵坐标

        result.paste(img, (x, y))  # 将图像粘贴到合成图像上



# 保存合成后的图像

result.save("output.jpg")

运行得到

扫描二维码

结果

1
3I8XEDHUCJTARQFOEDX7D+08AC80T8N08Y6948DF2C43C9B6Z2

base45解密

最后flag为BuildCTF{Tich1?pAnDa?_HahA_U_w1n}

E2_?_21P


下载附件

伪加密

010修改压缩版本010000为010008
解压压缩包

brainfuck解密

最后flag为BuildCTF{Da7A_Cowbr355lon_15_3A5Y}

EZ_ZIP


下载附件

010发现藏有zip

保存下来

批量解压缩包
exp:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import os

import zipfile

def unzip_all_folders(root_folder):

    all_done = False

    while not all_done:

        found_zip = False

        for foldername, subfolders, filenames in os.walk(root_folder):

            for filename in filenames:

                if filename.endswith('.zip'):

                    found_zip = True

                    zip_file_path = os.path.join(foldername, filename)

                    with zipfile.ZipFile(zip_file_path, 'r') as zip_ref:

                        zip_ref.extractall(foldername)

                    os.remove(zip_file_path)

        if not found_zip:

            all_done = True

root_folder = r'E:\\脚本合集\\赛题脚本\\buildctf\\循环压缩包'

unzip_all_folders(root_folder)

运行得到

解压压缩包

伪加密

解压压缩包

最后flag为BuildCTF{Z1p_p@ck@g3s_@r3_@_v3ry_1n73r3s7ing_thing}

FindYourWindows


下载附件

VeraCrypt挂载

查看文件

diskgennius恢复

最后flag为BuildCTF{I2t_s0_e5sy!!!}

Guesscoin


开启环境

exp:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from pwn import *
ip = "27.25.151.80"
port = 39965
res = []
# 连接到远程服务
r = remote(ip,port)
# 设置日志级别为debug以便调试
#context.log_level ='debug'
welcome = r.recvuntil(': ').decode()
print(welcome)
for i in range(0,100):
try:
r.sendline(b'0')
data = r.recv().decode()
print(data)
if "猜错了" in data:
r.sendline(b'1')
data = r.recv().decode()
print(data)
res.append("1")
# 断开连接
#r.close()
#break
else:
res.append("0")
except:
print(res)
break

反复运行得到flag

最后flag为BuildCTF{8f2b71d9-547e-4ffb-90b7-bd0afb39fb0c}

HEX的秘密


下载附件

每个16进制位转10进制减去128,再转字符串即可
exp:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
hex_str = "c2f5e9ece4c3d4c6fbb3c5fafadfc1b5e3a1a1dfe2e9eee1f2f9f9f9fd"

def process_hex(hex_string):

    result = ""

    for i in range(0, len(hex_string), 2):

        two_digits = hex_string[i:i + 2]

        decimal_value = int(two_digits, 16) - 128

        char = chr(decimal_value)

        result += char

    return result

print(process_hex(hex_str))

运行得到

最后flag为BuildCTF{3Ezz_A5c!!_binaryyy}

what is this?


下载附件

赛博厨子一把梭

c换成. p换成- ,换成空格然后摩斯解密

最后flag为BuildCTF{S0_TH1S_15_M0R5E_C0DE_!!}

一念愚即般若绝,一念智即般若生


下载附件

查看password文本

阴阳怪气解密

得到密码 : s2j6dg@*
解压压缩包

与佛论禅解密

天书解密

base58

最后flag为BuildCTF{D3crypt10n_1s_4_l0ng_r04d}

什么?来玩玩心算吧


开启环境

1
2
3
__import__('\157\163').system('\143\141\164\040\057\146\052')
将英文字符改成全角
__import__('\157\163').system('\143\141\164\040\057\146\052')

最后flag为BuildCTF{31000222-fdc8-4dae-beaa-6836a7ff4406}

别真给我开盒了哥


下载附件

百度地图搜索s3901京德高速

看到附件有霸西州站,搜索途径霸西州的铁路

最后flag为BuildCTF{津保铁路}

四妹,你听我解释


下载附件

宽高一把梭

社会核心价值观解密

1
自由文明法治平等公正敬业公正友善公正公正自由自由和谐平等自由自由公正法治友善平等公正诚信文明公正民主公正诚信平等平等诚信平等法治和谐公正平等平等友善敬业法治富强和谐民主法治诚信和谐

最后flag为BuildCTF{lao_se_p1}

四妹?还是萍萍呢?


下载附件

ps拼二维码

扫描二维码

010查看文件

winhex打开后定位到对应的IDAT,在这个IDAT头部发现0304,是zip文件头的一半。将这个IDAT提取出来,补全文件头

回复公众号password

打开文档

赛博厨子一把梭

保存图片

宽高一把梭

最后flag为BuildCTF{PNG_@nd_H31Sh3nHu@}

如果再来一次,还会选择我吗?


下载附件

查看png文件

010查看

发现字节前两位互换
写翻转脚本
exp:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
def swap_every_four(hex_data):

    # 每4个字符为一组,前两位和后两位互换

    swapped_hex = ''.join([hex_data[i+2:i+4] + hex_data[i:i+2] for i in range(0, len(hex_data), 4)])

    return swapped_hex

def read_png_as_hex(file_path):

    with open(file_path, 'rb') as f:

        # 读取 PNG 文件的二进制数据

        png_data = f.read()

        # 将二进制数据转换为十六进制表示

        hex_data = png_data.hex()

        return hex_data

def save_swapped_hex_as_png(swapped_hex, output_path):

    # 将十六进制字符串转换回二进制数据

    swapped_binary = bytes.fromhex(swapped_hex)

    with open(output_path, 'wb') as f:

        f.write(swapped_binary)

if __name__ == "__main__":

    input_png = 'E:\\脚本合集\\赛题脚本\\buildctf\\翻转\\password.png'  # 输入 PNG 文件路径

    output_png = 'E:\\脚本合集\\赛题脚本\\buildctf\\翻转\\outp222ut.png'  # 输出 PNG 文件路径

    # 读取 PNG 文件的十六进制数据

    hex_data = read_png_as_hex(input_png)

    # 每4位字符(2字节)前后两两交换

    swapped_hex = swap_every_four(hex_data)

    # 保存互换后的数据为新的 PNG 文件

    save_swapped_hex_as_png(swapped_hex, output_png)

    print(f"Swapped PNG saved as {output_png}")

运行得到

密码为8!67adz6
解压压缩包

在线阅读条形码

得到key:wo_bu_shi_xiao_hei_zi!!!
解压压缩包

赛博厨子解密

最后flag为BuildCTF{y0u_are_great_boy}

我太喜欢亢金星君了!


下载附件

gif分离帧

一共有四种图片。每两张中间有一个黑色的。排除掉这个,其他的对应-.

1
.---/--./--/-.--/.--/.-.-/./--.-/....-../-../----./-..../.-.-/.../../----./--..-./.-/----./-../--..-./--.-/-..../---/----/.....-.

摩斯解密
最后flag为BuildCTF{BUILDCTFW41COM4_N4W_F1SH}

有黑客!!!


下载附件

哥斯拉流量 一把梭

最后flag为Buildctf{WireshArk_1s_vEry_Ez}

白白的真好看


下载附件

一个个看
先看00000000.txt

0宽隐写

再看docx文件,改为zip查看

查看png

汉信码

访问链接,公众号回复雪

snow隐写

最后flag为BuildCTF{Th3_wh1t3_y0u_s33_1s_n0t_wh1t3}

老色批

下载附件

zsteg一把梭

base64解密

最后flag为BuildCTF{1_am_n0t_LSB!!!}

食不食油饼


下载附件

先看key.txt

零宽解密

base64解密

解压压缩包

盲水印

解压压缩包

base32解密

最后flag为BuildCTF{Wat3rMark_1s_S0_eaSy}


文章作者: yiqing
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 yiqing !
  目录