UNCTF2022-公开赛-MISC-部分WriteUp

1.magic_word-西南科技大学

  1. magic_word.docx后缀改成zip,然后解压,打开\word\document.xml
    请添加图片描述

  2. 复制这一段,必须向上图那样复制,不然末尾一段零宽字符会没复制上
    零宽网站:https://www.mzy0.com/ctftools/zerowidth1/
    请添加图片描述

unctf{We1come_new_ctfer}


2.syslog-浙江师范大学

  1. 打开syslog,我搜索了几个关键字,key,password的时候,搜索出现了

请添加图片描述

cGFzc3dvcmQgaXMgVTZudTJfaTNfYjNTdA== —> base64 —> password is U6nu2_i3_b3St

  1. 用密码解压flag.zip,得到flag:

unctf{N1_sH3_D0n9_L0g_dE!}


3.巨鱼-河南理工大学

  1. 打开fish.png,尾部有zip,我是复制然后粘贴出来的(foremost应该也可以)

请添加图片描述

  1. 我的看图软件(ImageGlass)打不开图片,所以大概率宽高不对,crc32爆破一下。

请添加图片描述
请添加图片描述

  1. 打开图片

请添加图片描述

  1. 用密码无所谓我会出手,解开之前尾部保存的zip文件,得到flag.txt, flagisnothere.zip

flag.txt:

请添加图片描述

我提交了一下,是不对的。

  1. flagisnothere.zip是伪加密的,我用的ZipCenOp解开的。

请添加图片描述

pass.png:

请添加图片描述

  1. 我用识图工具找了一下是六氯环己烷

请添加图片描述

别名叫六六六,所以flag.pptx的打开密码就是666(当然也是试了好几次出来的)

  1. 我们要关闭文档保护,也就是不使用密码

请添加图片描述
请添加图片描述

上面密码留空,然后确定,文档的密码就没了。

  1. 修改后缀名为zip,然后解压,用vscode打开,ctrl+shift+f搜索unctf

请添加图片描述

UNCTF{y0u_F1nd_1t!}


4.找得到我吗-闽南师范大学

  1. 找得到我吗.docx后缀名改成zip,解压。

  2. vscode搜索

请添加图片描述

flag{You_find_me!}


5.社什么社-湖南警察学院

  1. 打开txt,放大缩小,弄到一个合适的情况后

请添加图片描述

  1. 结合出题人的位置湖南,加上古城。

请添加图片描述

所以就是凤凰古城,然后md5,再大写。

UNCTF{4F0198127A45F66C07A5B1A2DDA8223C}


6.zhiyin-中国人民公安大学

  1. 解压后发现lanqiu.jpg打不开,那我们就先解决它。

请添加图片描述

010editor打开一看就是reverse了,所以我们reverse一下就能回去,这个太简单了,我没写代码,你们不会的百度找个代码吧,我用的是自己的集合的那种脚本。

请添加图片描述
得到关键字:Go_p1ay(注意是1不是l,我就被这个卡半天了)

  1. 010editor打开zhiyin.png,尾部明显的morse密码。

请添加图片描述
请添加图片描述

使用CyberChef,链接:https://ctf.mzy0.com/CyberChef3/

得到关键字:_UNC7F!!! —> 小写 —> _unc7f!!!(我就因为没有小写,然后解压不开flag.zip,卡了半天)

所以正确的密码是:Go_p1ay_unc7f!!!

  1. 解压flag.zip,得到flag:

flag{M1sic_1s_greAt}


7.清和fan-江西警察学院

请添加图片描述

去哔哩哔哩搜索清和,第一个就是,它的内容刚刚好和手办有关系。

请添加图片描述

请添加图片描述

所以解压密码为:

请添加图片描述

  1. MKM.png有lsb隐写,所以解压密码为:qq857488580,解压阿和的真实竟然身份是?.zip

请添加图片描述

  1. 神秘电波.wav,打开一听就是rot36,再加上36s我更加确定,我使用的是MMSSTV

请添加图片描述

又得到关键字:V@mpir3,解压flag.zip

  1. 打开flag.txt,这一看就是有零宽。

请添加图片描述

  1. 零宽网站:https://www.mzy0.com/ctftools/zerowidth1/

请添加图片描述

unctf{wha1e_wants_a_girlfriend_like_alicia}


8.芝麻开门-广东海洋大学

  1. 打开key.txt,找到最下面的a2V5MQ== —> base64 —> key1

请添加图片描述

  1. 在StegSolve观察了一下,明显有lsb,再加上给了密码,所以使用cloacked-pixel

请添加图片描述

  1. 打开out就是看到flag了

请添加图片描述

flag{faf5bdd5-ba3d-11da-ad31-d33d75182f1b}

然后改一下格式:

UNCTF{faf5bdd5-ba3d-11da-ad31-d33d75182f1b}


9.In_the_Morse_Garden-陆军工程大学

  1. 打开In_the_Morse_Garden.pdf

请添加图片描述

UNCTF{5L6d5Y+k5q+U5Y+k546b5Y2h5be05Y2h546b5Y2h5be05Y2hIOS+neWPpOavlOWPpOeOm +WNoeW3tOWNoSDnjpvljaHlt7TljaHkvp3lj6Tmr5Tlj6Qg5L6d5Y+k5q+U5Y+k5L6d5Y+k5q+U5Y+k5 46b5Y2h5be05Y2h546b5Y2h5be05Y2h5L6d5Y+k5q+U5Y+k546b5Y2h5be05Y2hIOS+neWPpOavlO WPpOeOm+WNoeW3tOWNoSDnjpvljaHlt7TljaHkvp3lj6Tmr5Tlj6Qg5L6d5Y+k5q+U5Y+k5L6d5Y+k 5q+U5Y+k546b5Y2h5be05Y2h546b5Y2h5be05Y2h5L6d5Y+k5q+U5Y+k546b5Y2h5be05Y2hIOeOm +WNoeW3tOWNoeeOm+WNoeW3tOWNoSDkvp3lj6Tmr5Tlj6TnjpvljaHlt7TljaEg546b5Y2h5be05Y 2h5L6d5Y+k5q+U5Y+k546b5Y2h5be05Y2hIOS+neWPpOavlOWPpOeOm+WNoeW3tOWNoSDkvp3 lj6Tmr5Tlj6Tkvp3lj6Tmr5Tlj6TnjpvljaHlt7TljaHnjpvljaHlt7TljaHkvp3lj6Tmr5Tlj6TnjpvljaHlt7TljaEg54 6b5Y2h5be05Y2h5L6d5Y+k5q+U5Y+k5L6d5Y+k5q+U5Y+k5L6d5Y+k5q+U5Y+kIOS+neWPpOavlOW PpOeOm+WNoeW3tOWNoSDnjpvljaHlt7TljaHkvp3lj6Tmr5Tlj6TnjpvljaHlt7TljaEg5L6d5Y+k5q+U5Y +k546b5Y2h5be05Y2hIOS+neWPpOavlOWPpOeOm+WNoeW3tOWNoSDkvp3lj6Tmr5Tlj6Tnjpvlja Hlt7TljaEg5L6d5Y+k5q+U5Y+k546b5Y2h5be05Y2hIOS+neWPpOavlOWPpOeOm+WNoeW3tOWN oSDnjpvljaHlt7TljaHkvp3lj6Tmr5Tlj6TnjpvljaHlt7TljaHkvp3lj6Tmr5Tlj6TnjpvljaHlt7TljaHnjpvljaHlt7T ljaE=}
  1. base64解码

请添加图片描述

依古比古玛卡巴卡玛卡巴卡 依古比古玛卡巴卡 玛卡巴卡依古比古 依古比古依古比古玛卡巴卡玛卡巴卡依古比古玛卡巴卡 依古比古玛卡巴卡 玛卡巴卡依古比古 依古比古依古比古玛卡巴卡玛卡巴卡依古比古玛卡巴卡 玛卡巴卡玛卡巴卡 依古比古玛卡巴卡 玛卡巴卡依古比古玛卡巴卡 依古比古玛卡巴卡 依古比古依古比古玛卡巴卡玛卡巴卡依古比古玛卡巴卡 玛卡巴卡依古比古依古比古依古比古 依古比古玛卡巴卡 玛卡巴卡依古比古玛卡巴卡 依古比古玛卡巴卡 依古比古玛卡巴卡 依古比古玛卡巴卡 依古比古玛卡巴卡 依古比古玛卡巴卡 玛卡巴卡依古比古玛卡巴卡依古比古玛卡巴卡玛卡巴卡

根据题目的Morse的提示,所以这是摩斯密码。

摩斯密码在线网站:http://www.all-tool.cn/Tools/morse/

请添加图片描述

UNCTF{WAN_AN_MAKA_BAKAAAAA!}


10.我小心海也绝非鳝类-中国计量大学现代科技学院

  1. 010editor打开我小心海也绝非鳝类.png,发现尾部base64字符串。

请添加图片描述

RUFTWUxTQg== —> base64 —> EASYLSB,得到关键信息:EASYLSB

    请添加图片描述

    请添加图片描述

    得到关键信息:flaginmd5

    1. 使用cloacked-pixel

    请添加图片描述

    1. 得到out
    8FA14CDD754F91CC6554C9E71929CCE72DB95E8E1A9267B7A1188556B2013B330CC175B9C0F1B6A831C399E269772661B2F5FF47436671B6E533D8DC3614845DF95B70FDC3088560732A5AC135644506F1290186A5D0B1CEAB27F4E77C0C5D68E1671797C52E15F763380B45E841EC322DB95E8E1A9267B7A1188556B2013B334A8A08F09D37B73795649038408B5F33D95679752134A2D9EB61DBD7B91C4BCC6F8F57715090DA2632453988D9A1501BE1671797C52E15F763380B45E841EC32B14A7B8059D9C055954C92674CE60032E358EFA489F58062F10DD7316B65649ED95679752134A2D9EB61DBD7B91C4BCCB14A7B8059D9C055954C92674CE600326F8F57715090DA2632453988D9A1501B865C0C0B4AB0E063E5CAA3387C1A874103C7C0ACE395D80182DB07AE2C30F0344A8A08F09D37B73795649038408B5F33CBB184DD8E05C9709E5DCAEDAA0495CF
    
    1. 根据提示md5,md5的话是32位

    请添加图片描述

    out的文本内容能被32整除,所以大概率就是32位md5代表一个字符,和本次比赛的Crypto方向的md5-1,基本一模一样。写个python代码:

    import string
    import hashlib
    
    
    # 1.create dic
    dic = {hashlib.md5(i.encode()).hexdigest().upper(): i for i in string.printable}
    
    with open("out.txt", "r") as f:
        data = f.read()
    
    for i in range(0, len(data), 32):
        print(dic.get(data[i:i+32]), end="")
    

    请添加图片描述

    flag{welcome_to_misc}

    改一下格式:

    UNCTF{welcome_to_misc}


    11.剥茧抽丝-内蒙古警察职业学院

    这题我的wp应该是非常规解法,为什么是非常规,这个锅必须sublime text背!!!

    1. 1.txt可以看到是有零宽的

    请添加图片描述

    请添加图片描述

    很明显,我得到了乱码,所以这个地方我开始就没做出来。

    1. 我先来说出题人的正确想法:

    请添加图片描述

    2.txt的crc32是1E153DBB,原本的1.txt的crc32是5CE71FFF,所以这两个内容肯定不相同,所以不能明文攻击。

    但是,你只要自己新建一个文件,然后写上线索就在眼前,你能利用并找到flag吗

    请添加图片描述

    现在crc32和文件里面的crc32一样了,现在可以用压缩攻击压缩然后明文攻击了。

    1. 说完出题人,现在说我的解法:

    我为什么没有人出题人的解法呢?因为sublime text

    首先,我复制了1.txt的内容到了1 - 副本.txt,然后我把能看见的零宽字符删掉了,也就下图这样:

    请添加图片描述

    请添加图片描述

    crc32显示c5c55f26,所以我就没办法明文攻击了。

    可能有人就好奇了,为什么你把零宽都删掉了,怎么crc32不一样啊,有没有一种可能,我根本就没把零宽字符删干净,我们把1 - 副本.txt复制到kali里面去。

    请添加图片描述

    使用vim打开,你会发现还有一堆的零宽字符,所以说我们根本没有删干净,但是sublime text上面并没有显示零宽字符了!

    所以我就没办法明文攻击,但是虽然不能攻击2.txt,但是我们可以攻击flag.zip。

    为什么可以攻击flag.zip,这是因flag.zip的算法为ZipCrypto Store

    请添加图片描述

    1. 实现攻击的仓库是用的https://github.com/kimci86/bkcrack,不太会的可以看我之前的一个视频教程,戳我打开。

    首先我构造了一个zip的文件尾部,但是我当时也没有把握能攻击出来,因为压缩文件如果有注释的话,那我百分比攻击不出来,有注释的话偏移就变了。(也就是以前在这个位置上,现在不在这个位置了)

    请添加图片描述

    攻击命令如下:

    请添加图片描述

    -o 239是根据flag.zip的大小 - 22字节得到的。

    -x 0 504B03041400这个是zip的文件头部。

    可以看到成功得到了12字节的key。

    请添加图片描述

    修改压缩包的密码为easy

    1. 使用密码easy去解压,得到一个新的flag.zip,这里面就是flag了,但是需要密码

    请添加图片描述

    这个压缩包的密码就在一开始零宽里面。

    请添加图片描述

    然后我们下载解密后的隐藏数据,使用sublime text打开

    请添加图片描述

    密码:PAsS_w0rD

    这个地方花了我很久时间,因为我是真的忘记了还可以隐藏二进制数据,因为上面的文本一直得不到有意义的文字,我滑动到了下面的窗口,然后我试了一下,果然是二进制数据。

    解压新的flag.zip,得到flag:

    unctf{d4a3a242-cd32-4dd5-bac6-84bdf13f527f}

    改一下格式:

    UNCTF{d4a3a242-cd32-4dd5-bac6-84bdf13f527f}


    12.MY PICTURE-信阳师范

    1. Picture添加后缀zip,解压,得到两个文件:datflag.png

    2. dat用010editor打开乱码,所以我就用我的脚本试了一下,也就是检测文件头和文件尾的,出来了异或0x8e

    请添加图片描述

    这个时候就有人说了,那我没有你的脚本这题咋办呢??也好办!

    你的电脑肯定有python吧,pip3 install xortool,pip3或者pip都可以,只要你能安装这个库到你的python3上就可以。

    使用xortool.exe -c 00 dat

    请添加图片描述

    请添加图片描述

    请添加图片描述

    这个0.out打开一看你会发现就是zip的了,这个xortool会自动帮你进行检测然后保存。

    -c 00 一般软件或者文件使用, -c 20 一般是文本文件使用

    1. 我当时没有使用xortool,所以我使用010editor对文件进行二进制异或,操作如下:

    请添加图片描述

    请添加图片描述

    无符号字节,操作数8e,十六进制,确定。

    请添加图片描述

    一看就是zip了,修改备注为zip,没有密码,解压得到encode.py

    from PIL import Image as im
    
    flag = im.open('flag.jpg','r')
    l,h=flag.size
    puzzle=im.new('RGB',(h,l))
    print(puzzle)
    for i in range(l):
        for j in range(h):
            r,g,b=flag.getpixel((i,j))
            r=r^g
            g=g^b
            b=b^r
            puzzle.putpixel(((i*787+j)//1200,(i*787+j)%1200),(b,g,r))
    puzzle.save('flag.png')
    flag.close()
    puzzle.close()
    

    根据加密流程写一个解密:

    from PIL import Image
    
    
    img = Image.open("flag.png")
    
    with open("bgr.txt", "w") as f:
        for x in range(img.width):
            for y in range(img.height):
                b, g, r = img.getpixel((x, y))
                b = b ^ r
                g = g ^ b
                r = r ^ g
                f.write(f"{b} {g} {r}" + "\n")
    

    如果你实在不知道为什么要向上面那样写解密脚本:

    # 这是刚刚的加密,解密的脚本
    r, g, b = 3, 4, 5
    
    # 加密
    r = r ^ g
    g = g ^ b
    b = b ^ r
    print(r, g, b)
    
    # 解密
    b = b ^ r
    g = g ^ b
    r = r ^ g
    print(r, g, b)
    
    运行结果:
    7 1 2
    3 4 5
    

    所以说有时候加密流程搞不懂,你就写个demo试试。

    运行解密脚本后,会得到一个bgr.txt文件

    运行该脚本之前,手动新建一个images的文件夹,因为我这个脚本会把图片写入的images的文件夹里面。

    import cv2
    import numpy as np
    
    
    with open("bgr.txt", "r") as f:
        data = f.read().splitlines()
    
    img = []
    for line in data:
        img.append(list(map(lambda x: int(x), line.split(" "))))
    img = np.array(img, dtype=np.uint8)
    
    for width, height in {1: 944400, 2: 472200, 3: 314800, 4: 236100, 5: 188880, 6: 157400, 8: 118050, 10: 94440, 12: 78700, 15: 62960, 16: 59025, 20: 47220, 24: 39350, 25: 37776, 30: 31480, 40: 23610, 48: 19675, 50: 18888, 60: 15740, 75: 12592, 80: 11805, 100: 9444, 120: 7870, 150: 6296, 200: 4722, 240: 3935, 300: 3148, 400: 2361, 600: 1574, 787: 1200, 1200: 787, 1574: 600, 2361: 400, 3148: 300, 3935: 240, 4722: 200, 6296: 150, 7870: 120, 9444: 100, 11805: 80, 12592: 75, 15740: 60, 18888: 50, 19675: 48, 23610: 40, 31480: 30, 37776: 25, 39350: 24, 47220: 20, 59025: 16, 62960: 15, 78700: 12, 94440: 10, 118050: 8, 157400: 6, 188880: 5, 236100: 4, 314800: 3, 472200: 2}.items():
        img = img.reshape(height, width, 3)
        cv2.imwrite(f"./images/{width}_{height}.png", img)
    

    images目录下面出现了很多的图片了

    请添加图片描述

    我们肉眼可以看到1200x787.png是一张完美的图片,我们打开后,左转90°,再垂直翻转一下,就得到了flag。

    请添加图片描述

    UNCTF{93bb442f-2a76-2b6f-c42f-c2297f5fdaf9}

    补充:

    我是如何得到那些宽高的?

    bgr.txt 一共有944400个像素点,我们就找能被整除的数,也就是假设一个width,如果944400 % width == 0,那你们能被整除,那它们就有可能是真实的宽度和高度。

    请添加图片描述

    '''
    Example:
        N = 61366
    
    输出:
        {1: 61366, 2: 30683, 61: 1006, 122: 503, 503: 122, 1006: 61, 30683: 2}
    
        {X1: Y1, X2: Y2, ..., Xn: Yn}
    '''
    
    
    import argparse
    
    parser = argparse.ArgumentParser()
    parser.add_argument('-t', type=int, default=None, required=True,
                        help='输入数字')
    args  = parser.parse_args()
    
    
    N = args.t
    ret = {X: int(N / X) for X in range(1, N) if N % X == 0}
    
    print(f"一共有 {len(ret)} 种情况:")
    print(ret)
    

    请添加图片描述


    13.CatchJerry-华中科技大学

    题干:
    Tom和Jerry是一对欢喜冤家,这天Jerry偷走了芝士,Tom需要把他抓回来。
    Jerry一会跳到屏幕上,一会跳到键盘上,Tom很是头晕。
    你能帮助Tom看清Jerry的踪迹吗?
    说明:
    flag内容由若干大写英文单词组成,单词间以"_"间隔,flag格式:UNCTF{解出的字符串}
    
    1. 下载文件后,得到了一个流量包,打开分析了一下基本都是usb流量。
    过滤命令:tshark.exe -r .\CatchJerry.pcapng -Y "usbhid.data" -T fields -e usbhid.data > out.txt
    

    out.txt:

    0000000000000000
    0000010000000100
    0000010000000100
    0000020000000200
    0000010000000100
    0000020000000200
    ...
    

    使用代码把这个数据转换为鼠标的坐标:

    with open("out.txt", "r") as f:
        keys = f.read().splitlines()
    
    with open("LEFT.txt", "w") as left, open("RIGHT.txt", "w") as right, open("ALL.txt", "w") as all:
        posx, posy = 0, 0
        for line in keys:
            x = int(line[2:4], 16)
            y = int(line[5:7], 16)
            if x > 127:
                x -= 256
            if y > 115:
                y -= 256
            posx += x
            posy += y
            # 1 for left , 2 for right , 0 for nothing
            btn_flag = int(line[:2], 16)
            if btn_flag == 1:  # 1 代表左键,2代表右键
                left.write(f'{posx} {str(-posy)}' + '\n')
            elif btn_flag == 2:
                right.write(f'{posx} {str(-posy)}' + '\n')
    
            all.write(f'{posx} {str(-posy)}' + '\n')
    

    得到3个文件分别是ALL.TXT, LEFT.txt, RIGHT.txtRIGHT.txt没有内容,也就是说没有右键的流量。

    复制LEFT.txt到kali中,安装gnuplot,不会安装的百度一下。

    请添加图片描述

    请添加图片描述

    得到关键字:TOMJERRYFRIENDS

    根据题干所以还有flag在键盘流量里面,但是我们如果在wireshark中过滤器用usb.capdata,你会发现没有任何流量,所以说键盘的流量也在usbhid.data里面。

    根据 USB协议数据部分在Leftover Capture Data域中,数据长度为八个字节,刚好所有数据都是八字节。
    击键信息集中在第3个字节,每次击键都会产生一个数据包。
    所以下面的代码就是读取第3个字节,然后输出键盘按键的信息。
    
    mappings = { 0x04:"A",  0x05:"B",  0x06:"C", 0x07:"D", 0x08:"E", 0x09:"F", 0x0A:"G",  0x0B:"H", 0x0C:"I",  0x0D:"J", 0x0E:"K", 0x0F:"L", 0x10:"M", 0x11:"N",0x12:"O",  0x13:"P", 0x14:"Q", 0x15:"R", 0x16:"S", 0x17:"T", 0x18:"U",0x19:"V", 0x1A:"W", 0x1B:"X", 0x1C:"Y", 0x1D:"Z", 0x1E:"1", 0x1F:"2", 0x20:"3", 0x21:"4", 0x22:"5",  0x23:"6", 0x24:"7", 0x25:"8", 0x26:"9", 0x27:"0", 0x28:"\n", 0x2a:"[DEL]",  0X2B:"    ", 0x2C:" ",  0x2D:"-", 0x2E:"=", 0x2F:"[",  0x30:"]",  0x31:"\\", 0x32:"~", 0x33:";",  0x34:"'", 0x36:",",  0x37:"." }
    
    nums = []
    with open('out.txt', "r") as f:
        data = f.read().splitlines()
    
    for i in data:
        num = int(i[4:6], 16)
        if num in mappings:
            print(mappings[num], end="")
    

    请添加图片描述

    得到关键字:ANDBEST

    所以flag为:

    UNCTF{TOM_AND_JERRY_BEST_FRIENDS}


    14.贝斯家族的侵略-中国地质大学武汉

    提示1:如果明文攻击失败,尝试使用bandzip
    提示2:会动的鼠标
    
    1. 使用bandzip,极限压缩然后明文攻击。

    请添加图片描述

    得到密码:b4s31sN1ce

    请添加图片描述

    1. 解压文件,打开flag的文件

    请添加图片描述

    一堆base64,base64隐写了,用我的软件也可以,因为软件偷懒没写多线程,然后这个base64文本又比较多,所以会出现卡死,但是并不是真的死了,需要稍微等一会,Github链接:https://github.com/Byxs20/Base64-Tools,打开后在右边的Release下载。(目前最新版本已经增加多线程,但是由于这个base64文本40mb,文本添加到输出框的时候还是会有点小卡顿,请等一会儿!)

    请添加图片描述

    复制下面的然后粘贴到CyberChef上面

    请添加图片描述

    然后保存这个文件保存下来

    这个时候,就开始难起来了,Macro翻译是宏,.mrd这个格式找了半天也没找到啥软件。

    不过我的思路就是肯定是一款软件,而且他是鼠标宏的,因为提示2:会动的鼠标,鼠标和宏一起,就是鼠标宏,鼠标宏才会动,鼠标是不会莫名其妙的移动的。

    现在就是必须要找到那款软件。

    最终下载了一款叫MacroRecorder的软件,官网链接:https://www.dcode.fr/solveur-sudoku

    请添加图片描述

    请添加图片描述

    打开Macro.mrd

    请添加图片描述

    这个时候打开画图软件,点一下Play

    请添加图片描述

    请添加图片描述

    你的鼠标就会变成移动的鼠标喽~嘎嘎乱动

    UNCTF{b4s3_1s_v3ry_g0od!!}


    15.峰回路转-内蒙古警察职业学院

    这个时候距离比赛还有4小时左右,我一觉睡醒,这题0解变成2解,我一看就知道排名掉了,果然20名开外,然后我就硬肝这题了,还好肝出来了!

    提示1:带密码的eye
    
    1. 这两个文件,肯定是可以crc32爆破的,我用的是我开源项目:Byxs20/zip-crc-tools

    请添加图片描述

    如果使用我的项目的话,需要手动去添加一些字符集,添加字符集,才可被爆破出来,不然爆破不出来;另外这个crc32的项目也是需要手动下载的,详细看我github项目的食用教程!

    请添加图片描述

    配置好后,运行效果如下:

    请添加图片描述

    2.txt对应W0RD3.txt对应P@Ss,组合一起就是W0RDP@Ss,去解压这个zip,没成功。

    然后我把顺序换了一下,使用P@SsW0RD这个密码解压就成功了!

    1. 这个图片的隐写完全就是多尝试了,我也是试了好久。

    请添加图片描述

    为什么要这样?因为bmp里面没有密码可以更改了,而且提示是带密码的eye,但是bmp就没有密码修改的地方,所以我想起来了之前bugku做的一道题目,就是用了上面的手段,题目叫什么我忘记了。

    所以我就各种尝试,最后试出来了:Image quality: normal,Type:AES256,Key:P@SsW0RD

    1. 这一步的时候,flag.txt是加密的,而看好你.jpg是没有加密的。

    请添加图片描述

    1. 大胆猜测伪加密,直接010editor改了一下

    请添加图片描述

    请添加图片描述

    1. 现在一看就没有密码了吧

    请添加图片描述

    1. flag.txt内容如下:
    3(%2 .V%QSQTP KRPV_K" 'RKPWS KWQ%Q'W$QWPS".
    

    还有一张图片看好你.jpg

    请添加图片描述

    1. 我还以为还有隐写,试了很多工具,试了3(%2 .V%QSQTP KRPV_K" 'RKPWS KWQ%Q'W$QWPS".P@SsW0RD作为密码,都没成功,又卡住了。
    2. 我就试了rot47甚至在cyberchef中各种尝试

    请添加图片描述

    1. 我也试过xortool,不太行,可能是因为这个的字符太少了;最后原来还是xor。

    请添加图片描述

    UNCTFH0C75726F-4609-DFA4-615F-17C7A1B7165DH

    1. 这个一看就是uuid生成的flag,根据uuid的格式8-4-4-4-12,很明显就能知道,需要替换那两个英文字符喽!
      请添加图片描述

    UNCTF{0C75726F-4609-DFA4-615F-17C7A1B7165D}

    文章出处登录后可见!

    已经登录?立即刷新

    共计人评分,平均

    到目前为止还没有投票!成为第一位评论此文章。

    (0)
    心中带点小风骚的头像心中带点小风骚普通用户
    上一篇 2023年5月23日
    下一篇 2023年5月23日

    相关推荐