CTF 未分类题目 WriteUp

Misc

MASK

zip相关考点,掩码攻击,明文攻击等

  1. base32 => base64 => 保存为zip。
  2. 解压出hint提示 ZZLT123???
  3. Advanced Archive Password Recovery 掩码攻击, 得到密码 ZZLT123&*% 解压文件
  4. 看到zip有desktop.png。手动将desktop.png压缩为zip存储。
  5. 明文攻击 pkcrack

flag{zip_1s_sooo000_funny_20220826_ggGGGGG}

hide.zip

1.伪加密
2.jpg后面尾部有内容。提取出来。

3.50 4b 03 04 逆向提取得到zip文件。

4.大小为4.可以爆破crc32.找脚本爆破一下。

别人的脚本。抄过来。

import zipfile, zlib, string, itertools, tqdm

crcs = {int(i.filename.split('.')[0]): i.CRC for i in zipfile.ZipFile('C:/Users/david/Desktop/1.zip').filelist}
crcs = [crcs[i] for i in sorted(crcs)]

with tqdm.tqdm(total=100 ** 4) as pbar:
    for i in itertools.product(string.printable, repeat=4):
        crc32 = zlib.crc32(''.join(i).encode())
        if crc32 in crcs:
            crcs = [''.join(i) if crc == crc32 else crc for crc in crcs]
        pbar.update(1)
print(''.join(crcs))
# flag{a7646474-53c7-46f2-8d0f-d995d06d2d}

mimazip.zip

题目:密码忘记了,你能帮我找回吗?

hashcat 7位大小写+数字爆破。 n9jIBPon

解压出来是个乱码文件。可能是交md5吧。

4.zip

jpg文件后面。手动分隔2个文件。
1.密码字典
2.zip包。

跑字典得到密码 Anonymous
解压得到01的二进制。
转二维码。得到反色图像。反色扫码。

flag{c8cf3607383484d7cda7070742ac00d4}

一夫当关

1.手动分隔文件尾部文件
2.末尾是 40 30 B4 05 是50 4B 03 04倒过来。
处理后解压有密码。打开一看全是4b小文件。crc32破解后为 ZmxhZ3vlm73lrrbmnLrlhbPlupTlvZPkvp3nhafms5Xlvotf44CB6KGM5pS/5rOV6KeE55qE6KeE5a6a77yM5bu656uL5YGl5YWo5pWw5o2u5a6J5YWo566h55CG5Yi25bqmX++8jOiQveWunuaVsOaNruWuieWFqOS/neaKpOi0o+S7u++8jOS/nemanCDmlL/liqHmlbDmja7lronlhajjgIJ9

flag{国家机关应当依照法律_、行政法规的规定,建立健全数据安全管理制度_,落实数据安全保护责任,保障 政务数据安全。}

2022年济宁市网络安全大赛 - logtime

流量提取flag.zip里面有个png

流量里提取password 有个!=xxx的比较明显 username: zipzip 用户的password为
pAsswoRdPa55W0rD

解压得到png。

可能是 cloacked-pixel 。r7通道边缘的小点。

。然后用 cloacked-pixel 脚本提取。

crypto01

2016-西普杯京津冀信息安全挑战赛-crypto01

题目: Lf512alKZ84flUk6g+u7Kw== 注意看看hex哦

base64解码完的16个字节直接转hex当成flag

xx - 未做完

enlyZ2h3eXlmeHc0ezhpMAMX1tMzk3amNpNXZqdDRrZg==== 

拆成2段base64。第一段22位。

enlyZ2h3eXlmeHc0ezhpMA==
MX1tMzk3amNpNXZqdDRrZg==

zyrghwyyfxw4{8i0
1}m397jci5vjt4kf

再处理。

2021长三角示范区网络安全攻防大赛-Misc_blasting

图2 CRC修复。
试了一下音频文件有deepsound隐藏文件, 打开看频谱有一半flag。调一下显示完整: flag{iheat

bwmforpy3.py 双图解水印。。出来个deepsound。已经试到了
文件名john,是直接爆破么?
爆了一下得到 !@#$%^&* 。deepsound提取出来flag的一半 radio}

flag{iheatradio}

b64

分离出rar用winrar打开,报错了。

010 editor打开。

Header CRC mismatch in Block #4: expected CRC is 0xE213, got 0xFB6

将header修改为0xE213。正常了。注释有个375c24f24不知道是啥。

rar伪加密。24 90 改 20 90。得到图

Mc25LaMdwVfSrAcTi5hUjdjZigLVtdfWj50Btbvat5YTtJjZiV7JXL==

不知道这是啥。可能上面的 375c24f24 是key.

回头看一下b64.png有隐写。

python lsb.py extract b64.png out.txt 375c24f24

得到

0!1bc2defG3Hij4KLMN5OPQ6rtsuv7wXYZ8ghIJ9klmonpqRSTUVWaABCDEF#xyz

换表解一下上面。得到flag

iwanna类型

一般是改存档, 第3个字节是房间号。

ezQR 2023贝格通杯 MISC

旋转180度然后,作为version1的二维码右下角部分, 导入到 QRazyBox
Tool - Brute-force Format Info Pattern, 爆破,然后Decode

得到解压密码, 然后0宽隐写解码。

reverse

陕西省某个 re题目 re8124021974

后面是rc4.前面是一个自解密,在这部分仍然是在自解密

0x6011b0    movzx  rax, byte ptr [r11 + r13]
0x6011b5    xor    al, 0x26
0x6011b7    mov    byte ptr [r11 + r13], al
0x6011bb    inc    r13
0x6011be    jmp    0x6011aa                      <0x6011aa>
0x6011aa    cmp    r13, 0x39
0x6011ae    ja     0x6011c0                      <0x6011c0>

实际还是在解密代码。

r11:   677167706fafd96fa7c1d92626266fa5c1296fafd86fa7c0d92626266fe7d8226fa5c0296fe7c1226b2fd86aafd6d8eed8eed8ee123a677867
异或后: 415741564989ff4981e7ff0000004983e70f4989fe4981e6ff00000049c1fe044983e60f49c1e7044d09fe4c89f0fec8fec8fec8341c415e41

全部解密完来到 601169

.bss:0000000000601164     call    sub_6011A5                      ; DATA XREF: main+B3↑w
.bss:0000000000601164
.bss:0000000000601169     push    r15
.bss:000000000060116B     push    r14
.bss:000000000060116D     mov     r15, rdi                        ; Str[i]
.bss:000000000060116D
.bss:0000000000601170     and     r15, 0FFh                       ; DATA XREF: main+C1↑w
.bss:0000000000601177     and     r15, 0Fh                        ; DATA XREF: main+CF↑w
.bss:0000000000601177                                             ; 低位
.bss:000000000060117B     mov     r14, rdi
.bss:000000000060117E     and     r14, 0FFh                       ; DATA XREF: main+DD↑w
.bss:0000000000601185     sar     r14, 4                          ; 高位 >> 4, 去符号
.bss:0000000000601189     and     r14, 0Fh
.bss:000000000060118D     shl     r15, 4                          ; 低位左移4
.bss:0000000000601191     or      r14, r15                        ; 高低位互换了
.bss:0000000000601194     mov     rax, r14                        ; 赋值回去
.bss:0000000000601197     dec     al                              ; 减3 ^0x1c
.bss:0000000000601199     dec     al
.bss:000000000060119B     dec     al
.bss:000000000060119D     xor     al, 1Ch
.bss:000000000060119F     pop     r14                             ; DATA XREF: main+115↑w
.bss:00000000006011A1     pop     r15

每一位进行变换, 1.高低位互换 2. 减3 3. ^0x1c
逆向回去,(ch ^0x1c ) + 3, 再高低位互换, 后面就是rc4正常解了。好像异或了个啥,不管它直接用它的自动解。

enc1 = bytearray.fromhex('7FDF0F6FA89C1C7C8C3F1C5C7F2C7C7C5C3F2C6C1C5F4F8C3C6C3C2C7F7C0C6C2F3F4C2C5FC8')

for i, ch in enumerate(enc1):
    # 逆向回去,(ch ^ 0x1c) + 3, 再高低位互换
    a = (ch ^ 0x1c) + 3
    a1 = a >> 4
    a2 = (a << 4) & 0xff
    res = a1 | a2
    print(chr(res), end='')
    # flag{8069b04f3664b370de92723f617cb53d}
posted @ 2022-08-28 12:24  wgf4242  阅读(716)  评论(0编辑  收藏  举报