[ 刷题记录 ] Bugku Misc
2026-08-22 20:05:38

以下不添加随波逐流一把梭的解法

这是一张单纯的图片

010打开 末尾看到HTML实体编码(十进制HTML字符引用

每个 &#数字; 表示一个 Unicode 字符的十进制编码

1
key{you are right}

eg:

k``107对应k

e``101对应e

y``121对应y

https://bfotool.com/zh/html-decoder 线上网址也可以

key{you are right}

富强民主

https://ctf.bugku.com/tool/cvecode

flag{90025f7fb1959936}

隐写

010打开文件 CRC不匹配

crc爆破宽高

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import binascii
import struct

crcbp = open("2.png", "rb").read() #打开图片
crc32frombp = int(crcbp[29:33].hex(),16) #读取图片中的CRC校验值
print(crc32frombp)

for i in range(4000): #宽度1-4000进行枚举
for j in range(4000): #高度1-4000进行枚举
data = crcbp[12:16] + \
struct.pack('>i', i)+struct.pack('>i', j)+crcbp[24:29]
crc32 = binascii.crc32(data) & 0xffffffff
# print(crc32)
if(crc32 == crc32frombp): #计算当图片大小为i:j时的CRC校验值,与图片中的CRC比较,当相同,则图片大小已经确定
print(i, j)
print('hex:', hex(i), hex(j))
exit(0)

修改宽高后获得完整图片

BUGKU{a1e5aSA}

telnet

题目名叫telnet

过滤器:telnet

追踪tcp流

flag{d316759c281bf925d600be698a4973d5}

眼见非实

docx文件无法打开

docx文件的实质是zip 改后缀为.zip 解压

CTRL+F flag

flag{F1@g}

又一张图片,还单纯吗

foremost提取

falg{NSCTF_e6532a34928a3d1dadd0b049d5a3cc57}

闪的好快

stegsolve>Frame Browser

SYC{F1aSh_so_f4sT}

请攻击这个压缩包

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
C:\Users\13964>cd C:\Users\13964\Desktop\Misc\bkcrack

C:\Users\13964\Desktop\Misc\bkcrack>bkcrack.exe -C file.zip -c flag.png -x 0 89504E470D0A1A0A0000000D49484452
bkcrack 1.7.0 - 2024-05-26
[23:14:18] Z reduction using 9 bytes of known plaintext
100.0 % (9 / 9)
[23:14:18] Attack on 756025 Z values at index 6
Keys: 92802c24 9955f8d6 65c652b8
15.3 % (115694 / 756025)
Found a solution. Stopping.
You may resume the attack with the option: --continue-attack 115694
[23:15:12] Keys
92802c24 9955f8d6 65c652b8

C:\Users\13964\Desktop\Misc\bkcrack>bkcrack.exe -C file.zip -c flag.png -k 92802c24 9955f8d6 65c652b8 -d decrypted_flag.png
bkcrack 1.7.0 - 2024-05-26
[23:16:02] Writing deciphered data decrypted_flag.png
Wrote deciphered data (not compressed).

C:\Users\13964\Desktop\Misc\bkcrack>

BugKu{不是非得两个文件你才能明文攻击}

隐写3

crc不匹配

crc宽高爆破

实际宽高:679``479

flag{He1l0_d4_ba1}

zip伪加密

伪加密修复

flag{Adm1N-B2G-kU-SZIP}

一闪而过的flag

flag{Are_you_eyes1ght_g00D?_can_you_dIst1nguish_1iI?}

从零开始的火星文生活

法1 vscode内转码

https://blog.csdn.net/qq_33154343/article/details/99617767

https://www.zhihu.com/question/677118608/answer/3735389408

关于汉字乱码情况 可以看看这几篇文章

vscode打开 古文码 注意到现在是UTF-8编码

古文码是以GBK方式读取UTF-8编码的中文

所以这里是以GBK方式读取UTF-8编码的中文,再存为UTF-8的结果

step1 用GBK重新编码文本

1
Save with Encoding -> GBK

step2 用UTF-8打开

1
Reopen with Encoding -> UTF-8

看到拼音码

拼音码是以ISO8859-1读取GBK编码的中文

step3 用ISO8859-1重新编码文本

1
Save with Encoding -> ISO8859-1

step4 用GBK打开

1
Reopen with Encoding -> GBK

flag{H4v3_FuN_w1Th_3nc0d1ng_4Nd_d3c0D1nG_9qD2R8hs}

获得全角字符的flag,但是题干明确说要ASCII码的字符

全角字符是Unicode中的一类字符,主要用于中日韩这些亚洲国家的排版

看上去很像英文字母,数字,符号,但是每个字符占两个字节,切编码与标准ASCII不同

eg:

  • 全角f的Unicode是U+FF46
  • 标准f的Unicode是U+0066

肉眼看上去很像啦,但是系统判定还是会认为这是非法字符

可以手动转半角,也可以跑个脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import unicodedata

s = "flag{H4v3_FuN_w1Th_3nc0d1ng_4Nd_d3c0D1nG_9qD2R8hs}"

# 全角转半角函数(标准方法)
def DBC2SBC(s):
res = ""
for char in s:
code = ord(char)
if code == 12288: # 全角空格
code = 32
elif 65281 <= code <= 65374: # 全角!到~
code -= 65248
res += chr(code)
return res

print(DBC2SBC(s))

flag{H4v3_FuN_w1Th_3nc0d1ng_4Nd_d3c0D1nG_9qD2R8hs}

法2 脚本

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
def DBC2SBC(s):
"""全角转半角"""
res = ""
for char in s:
code = ord(char)
if code == 12288: # 全角空格
code = 32
elif 65281 <= code <= 65374: # 全角!到~
code -= 65248
res += chr(code)
return res

def solve_file(file_path):
# 读取文件(当前是 UTF-8 编码的“古文码”)
with open(file_path, 'r', encoding='utf-8') as f:
message = f.read()

# 执行编码转换链
step1 = message.encode('gbk') # 转为 GBK 字节
step2 = step1.decode('utf-8') # 用 UTF-8 解码 → 拼音码字符串
step3 = step2.encode('iso-8859-1') # 转为 Latin1 字节
step4 = step3.decode('gbk') # 用 GBK 解码 → 原始文本(全角)
flag = DBC2SBC(step4)
return flag

# 使用
print(solve_file('gibberish_message.txt'))

法3 cyberchef

厨子应该也是可以的,但是我这里没跑出来

1
2
3
4
5
6
7
encode text('gbk')    # 转为 GBK 字节

decode text('utf-8') # 用 UTF-8 解码 → 拼音码字符串

encode text('iso-8859-1') # 转为 Latin1 字节

decode text('gbk') # 用 GBK 解码 → 原始文本(全角)

小 P 在一教做傅里叶光学实验时,在实验室电脑的模拟程序里发现了这么一张的图片:

数理基础并不扎实的小 P 并不知道什么东西成像会是这个样子:又或许什么东西都不是,毕竟这只是模拟 … 但可以确定的是,这些看似奇怪的花纹里确实隐藏着一些信息,或许是地下金矿的藏宝图也未可知。

那那,我的数理基础似乎更不扎实

flag{Furier_ptics

打开txt文件

零宽隐写

https://tool.bfw.wiki/tool/1695021695027599.html

1
2
flag{not_h3r3_looooolnoob}
flag{当前所在城市英文名(小写)}
上一页
2026-08-22 20:05:38
下一页