题目附件:
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}