DASCTF X GFCTF 2022十月 Misc

文章目录

    • Misc
      • 滴滴图
      • poi?qoi!
      • ez_xxd
      • easy_dots
      • ansic
      • dockermisc

Misc

滴滴图

jpg(png)后面有压缩包,压缩包的文件尾有段密码 是解压此压缩包的,而压缩包一共有两个,都解压看过了内容相同

\u0074\u0068\u0069\u0073\u005f\u0069\u0073\u005f\u0070\u0061\u0053\u0053

解得this_is_paSS

解开压缩包,图片拖进010高度不对,修改高度得到之前的flag.zip的压缩包密码为this_is_not_PASSWORD

得到的音频只需要翻译左声道的摩斯密码,包裹上DASCTF即可提交

DASCTF{to_be_ctfer}

poi?qoi!

根据qoi 百度找到有人在bilibili写过该文件的解析,其中还有个在线网站

https://www.bilibili.com/read/cv17617178

https://floooh.github.io/qoiview/qoiview.html

使用第二个网站,可以得到图片内容,但是直接扫出来的flag是假的

DASCTF X GFCTF 2022十月 Misc_第1张图片

猜想有LSB隐写,直接QQ截图来保存为png/bmp即可

然后在R0发现另一个残缺的二维码图片,怎么修都修不好,然后查看GREY通道得到另一个正确的二维码,扫码即可得到flag

DASCTF X GFCTF 2022十月 Misc_第2张图片

DASCTF{Y0u_f1nd_re4l_QR_Cod3_w0W}

ez_xxd

流量包直接导出http,发现有flag.txt和一个压缩包,flag.txt解base之后得到初音未来的图片,发现zip里面也有。猜测明文,使用winrar、7z、360压缩的deflate都不行,显示没有匹配的文件,使用bandzip压缩的明文文件攻击成功。

在flag.MYD里发现一串base解了之后是zip,是最终的flag文件但是需要密码

在SceneManager.js中找到密码

DASCTF X GFCTF 2022十月 Misc_第3张图片

sWxSAnweQIES46L

得到的txt兽音解密+base64decode+base16即可

dasctf{l0ve_you_want_l0ve}

easy_dots

打印机的黄点追踪

https://en.wikipedia.org/wiki/Machine_Identification_Code

在线的解析网站,但是在线不可用了。可以自己根据规则手撸

https://w2.eff.org/Privacy/printers/docucolor/

DASCTF X GFCTF 2022十月 Misc_第4张图片

最简单的方法当然是直接对照分析 但是我之前一直撸错了 最后用他的https://w2.eff.org/Privacy/printers/docucolor/docucolor.cgi解析的

在这里插入图片描述

正常发包拿到数据

s = '1,7=on&2,7=on&3,7=on&4,7=on&5,7=on&7,7=on&10,7=on&11,7=on&12,7=on&13,7=on&12,6=on&15,5=on&1,4=on&6,4=on&11,4=on&6,3=on&7,3=on&10,3=on&12,3=on&14,3=on&2,2=on&5,2=on&6,2=on&7,2=on&11,2=on&13,2=on&15,2=on&1,1=on&2,1=on&5,1=on&8,1=on&9,1=on&10,1=on&12,1=on&13,1=on&15,1=on&12,0=on'.split('&')
print(s)
value = []
for j in s:
    tmp = j.split('=')[0].split(',')
    value.append(tmp)
for y in range(7,-1,-1):
    for x in range(1,16):
        try:
            val_1,val_2 = value[0]
        except:
            val_1,val_2 = 114514,1919810
        # print(val_1,val_2)
        if(x == int(val_1) and y == int(val_2)):
            print(f'({x}, {y}): True,',end='')
            try:
                value.pop(0)
            except:
                pass
        else:
            print(f'({x}, {y}): False,', end='')
            pass

修改成他脚本里的。将cgi改成py.使用python2
DASCTF X GFCTF 2022十月 Misc_第5张图片

在这里加一行,运行

DASCTF X GFCTF 2022十月 Misc_第6张图片

对08067520-2002-12-28-06:06进行md5

DASCTF{4b6cc3e5fd2c556d98049e8686871c06}

ansic

用jadx打开 在资源文件发现有一个zip。解压出来得到个压缩包和dex

在dex里看到图片文件的相对路径

DASCTF X GFCTF 2022十月 Misc_第7张图片

找到该文件,并使用反转和镜像加拼接得到打乱前的图片
DASCTF X GFCTF 2022十月 Misc_第8张图片

手撸一下 因为大写的i和小写的L分不清 因此base64后手动修改 得到

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIwODA2NyIsImF1ZCI6IkRTVEJQIiwiaWF0IjoxNjY1MTExODg5LjYwMTY5MjQsImhpbnQiOiJUaGUgU2lnbmF0dXJlJ3MgYmFzZTY0IGlzIFppcCdzIFBhc3N3b3JkIiwiZXhwIjoxNjk2NjQ3ODg5LjYwMTY5MjR9.fBPoMQprLZF280c7jazIApJC4m0PX_Cx9_UnNMGZIP0
提示是signature,因此想到用jwtcracker进行爆破。
在这里插入图片描述

W1lm,对其base64之后即可得到解压密码为VzFsbQ==

解压后得到class文件和jpg文件,猜测jpg是用工具的隐写

逆向class文件,jd-gui
DASCTF X GFCTF 2022十月 Misc_第9张图片

小小爆破一下

import string
table = string.ascii_lowercase + string.ascii_uppercase + string.digits

this_key = 'mllw'
enc_key = 'pdexbdlueesabldoizczudmlfdo'
dec_key = ''
for i in range(len(enc_key)):
    for j in table:
        if(j.islower()):
            if(j.isupper()):
                val = ((ord(j) +ord(this_key[i%len(this_key)].upper())) - 130) % 26 +65
            else:
                val = ((ord(j) + ord(this_key[i % len(this_key)].lower())) - 194) % 26 + 97
        else:
            val = j
        if(chr(val) == enc_key[i]):
            dec_key += j
            break
print(dec_key)
#dstbpsaysthepasswordisbptsd

测试为jphs,密码为bptsd

DASCTF{android_combined_with_misc_is_interesting}

dockermisc

该题很不理解flag

在529开头的文件夹里解压tar发现flag.jpg,发现文件尾有一压缩包,对其进行爆破得到密码为6DaS6

解压得到一串"fakeflag",内容为DASCTF{31e15d56a3975afe698317679c638056}

乐死 这不是flag我不是很理解

使用somd5解31e15d56a3975afe698317679c638056,发现能解出明文为jiangnaij

于是想着去hub.docker看看,找到https://hub.docker.com/r/jiangnaij/happy_misc_1/tags

于是拉了一下docker,find /var/lib/docker -name "flag.jpg"去搜了一下flag.jpg,一共有2个(2*2)

在这里插入图片描述

左边那张是刚刚得到过的,右边那张是新找到的

其中图片的文件尾有一个压缩包,密码仍然是6DaS6。得到的txt进行base85解码即可得到后半部分

而直接对图片进行lsb可以得到前半部分

DASCTF X GFCTF 2022十月 Misc_第10张图片

最后得到flag为

DASCTF{31e15d56a3975afe698317679c63}

你可能感兴趣的:(ctf,buuctf,1024程序员节)