DASCTF X GFCTF 2022十月 Misc

news/2024/7/5 1:48:04

文章目录

    • 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是假的

在这里插入图片描述

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

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

在这里插入图片描述

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中找到密码

在这里插入图片描述

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/

在这里插入图片描述

最简单的方法当然是直接对照分析 但是我之前一直撸错了 最后用他的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
在这里插入图片描述

在这里加一行,运行

在这里插入图片描述

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

DASCTF{4b6cc3e5fd2c556d98049e8686871c06}

ansic

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

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

在这里插入图片描述

找到该文件,并使用反转和镜像加拼接得到打乱前的图片
在这里插入图片描述

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

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

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

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

逆向class文件,jd-gui
在这里插入图片描述

小小爆破一下

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可以得到前半部分

在这里插入图片描述

最后得到flag为

DASCTF{31e15d56a3975afe698317679c63}

http://lihuaxi.xjx100.cn/news/104570.html

相关文章

JDK8: Collection

序言 整理下JDK的集合的设计思路,以便我们在开发过程中创建自己的数据结构cuiyaonan2000163.com ArrayList 以ArrayList增加一个元素为入口. /*** Appends the specified element to the end of this list.** param e element to be appended to this list* return <tt>…

jQuery的下载与安装

引言 在学习后端Java的同时也少不了前端的知识&#xff0c;而jQuery则是现在前端人员普遍都在使用的一个框架&#xff0c;其可以更好的帮助我们使用前端语言&#xff0c;那么今天我们就先来简单地讨论一下如何对其进行安装和下载吧。 下载与安装 ​我们要想使用 jQuery&#x…

JSP的简化:一文吃透EL表达式

本文被 系统学习JavaWeb 收录点击订阅专栏 文章目录1 走进EL表达式2 关于EL表达式与Bean对象2.1 什么是Java Bean&#xff1f;2.2 使用EL表达式输出复杂Bean对象3 EL表达式的运算3.1 关系运算3.2 逻辑运算3.3 算术运算3.4 empty运算3.5 三元运算3.6 点运算和中括号运算4 EL表达…

手动搭建K8S环境

手动搭建K8S环境 主机名ip系统版本k8s-master172.16.200.70Centos7k8s-node1172.16.200.71Centos7k8s-node2172.16.200.72Centos7 前期准备好三台Centos7机器&#xff0c;均配置如下&#xff1a; # 关闭防火墙 systemctl stop firewalld systemctl disable firewalld # 永久关…

二叉树深度和高度你分得清么?

104. 二叉树的最大深度 - 力扣&#xff08;LeetCode&#xff09; 看题解前&#xff1a;这里需要知道什么是深度&#xff0c;什么是高度。深度指的是从根结点出发到叶子结点中间的节点个数&#xff1b;高度指的是从该节点出发到叶子节点中间的个数。所以说根节点的高度也就是该二…

语音处理-傅里叶分析和Z变换

语音处理-傅里叶分析和Z变换 时域与频域 •信号可以表示任何类型的序列测量 •信号通常表示序列时间上的测量 •信号分析的一项有用技术是将其分解为一组基本部分易于理解&#xff08;例如线性趋势&#xff09; •分解为周期函数可以是将信号转换为“频域”&#xff08;即时间…

JQuery详解(讲解+举例)--(后端开发适用)

JQuery JQueryJQuery1.JQuery内容2. JQuery对象2.1.Jquery的下载与安装2.1.1.下载2.1.3.优点2.1.4.安装2.2.Jquery核心2.3.Dom对象与Jquery包装集对象2.3.1 javascript中获取Dom对象&#xff0c;Dom对象只有有限的属性和方法&#xff1a;2.3.2.Jqueryt包装集对象2.3.3.Dom对象转…

Web3.0 对网络安全世界的影响

随着全球技术格局在过去十年中不断发展&#xff0c;引起许多人兴趣的一个概念是“Web3”。从最基本的意义上说&#xff0c;Web3 可以被视为互联网的迭代&#xff0c;它是去中心化的&#xff0c;并授予用户以安全、点对点方式相互交互的能力&#xff08;即无需任何中心化中介&am…