DMCTF
比赛持续了一周,还是比较长的。前期主要做了MISC,最后看了看WEB,没什么时间了,很可惜。不过还是从这次比赛中学到了很多。
MISC
Check In
dmctf{Welcome_to_dmctf2020}
签到题
fakezip
zip伪加密
WinHex打开,修改加密位
修改为00 00,保存
解压出来,是一个flag.txt
音乐符号加密
文本加密为音乐符号,可自设密码|文本在线加密解密工具 (qqxiuzi.cn)
flag{da1ada1a}
Base family
XUZbB{fp}U)=ql[n%GCbk9RZ7!XDKaTeX parse error: Expected '}', got '#' at position 28: …TSlXCJT:4nxQ[8Y#̲I:=k.Qi4t3/S!,N…Q8+8T])e.llK?zgS:+C]llUG:z1=ekEN}8DmJf&GP<Rk:o_Jk<J.zp8%H0g7sYSTJ9p."duRBGj
g0!I+xjm(fh)]IF:>omN8=m+Xp(X0:U8Sj5|8p.o[i0:%.qu}%=<D
CTF在线工具-在线base91编码|在线base91解码|base91编码|base91解码 (ssleye.com)
3G6MzYGwFwTsqcb3MWzTdQBTHZWBZ2LUBprZ3P62T2nsbt1R7o6a7PEsXsBvSFvoexeZJEkhW9Wv1VusvpWK1nfWsVHDypW2j3MMEygzSYLmwxKV5kNwWomvXc5ohX2Jgj6bMRnu6JXkasXdbbw3Aw8Pvh6vWwPfTZ4mpkpNU9fDhyNi1bciCZMXeLiCWL67BVupHPobQcFWkpftgLPggB8wgwW
CTF在线工具-在线base58编码|在线base58解码|base58编码|base58解码|base58check (ssleye.com)
JZVFSMSZPJMXQTTKMMZVS2TDGVGXUQJTJZKFM3KONJCTEWL2MN4U26SNGJGVIWJQJZ5GWMK2NJNGSTTNKV5E2RDDGNHFOWJTJZCFSNCNPJGTCWTKKF4U42SFGNGXUWJRJZVFSMSNKRNGWTL2IUZFS6TDGVHDEUJ5
CTF在线工具-在线base编码|在线base解码|base16编码|base32编码|base64编码 (ssleye.com)
NjY2YzYxNjc3Yjc5MzA3NTVmNjE2YzcyMzM2MTY0Nzk1ZjZiNmUzMDc3NWY3NDY4MzM1ZjQyNjE3MzY1NjY2MTZkMzE2Yzc5N2Q=
666c61677b7930755f616c72336164795f6b6e30775f7468335f4261736566616d316c797d
小写转大写,Base16
666C61677B7930755F616C72336164795F6B6E30775F7468335F4261736566616D316C797D
flag{y0u_alr3ady_kn0w_th3_Basefam1ly}
SlientEye
HTML解码 - 在线HTML解码器 (convertstring.com)
flag{n1_bu_j1ang_wu_d3}
编码之王
社会主义核心价值观编码
CTF在线工具-在线核心价值观编码|核心价值观编码算法|Core Values Encoder (ssleye.com)
佛曰编码
新佛曰编码
Jsfuck编码
浏览器控制台解码
DMCTF{Wow_you_kn0w_more_eNcoding}
jpgsteg
这道题用了JPHS这个工具
这里让我们输入密码,根据题目的提示,盲猜123456(虽然我是问大佬的。。。)
分离出一个文本
敲击码,对应图片名称Tap Code
按照表解码
flag{ohhamazing}
Collision
根据题目名字可以大致猜出用CRC32碰撞,然后上脚本跑就可以
脚本如下
#PYTHON2
from zlib import crc32
import random
char='0123456789abcdefghijklmnopqrstuvwxyz_{}'
# char='0123456789'
def crc32_f(data):
return hex(crc32(data)&0xffffffff)[2:10]
length=input('length:')
crc32_=raw_input('crc32:').lower()
while True:
text=''
for i in range(length):
text+=char[random.randint(0,len(char)-1)]
if crc32_f(text)==crc32_:
raw_input('find it:'+text)
exit
CRC32用WinRAR查看
flag{crc32collis1on}
kaomoji
flag.zip里面有个secret.txt,盲猜是明文
浏览器控制台直接解密
flag{kaomoj1_1s_cut3}
ARCHPR
CTF在线工具-在线莫尔斯电码编码|在线莫尔斯电码解码|莫尔斯电码算法|Morse (ssleye.com)
flag{th1s_15_f1agggggg}
outguess
Online calculator: Caesar cipher (planetcalc.com)
在线AES加密 | AES解密 - 在线工具 (sojson.com)
flag{y0u_ar3_awes0m3}
Whitespace
下载下来的压缩包需要密码,在注释里面,Whitespace
Whitelips the Whitespace IDE (vii5ard.github.io)
在线IDE,运行程序
解压出来是两张图片和一个hint.txt
盲水印
#!/usr/bin/env python3
# -*- coding: utf8 -*-
import sys
import random
cmd = None
debug = False
seed = 20160930
oldseed = False
alpha = 3.0
if __name__ == '__main__':
if '-h' in sys.argv or '--help' in sys.argv or len(sys.argv) < 2:
print ('Usage: python bwm.py <cmd> [arg...] [opts...]')
print (' cmds:')
print (' encode <image> <watermark> <image(encoded)>')
print (' image + watermark -> image(encoded)')
print (' decode <image> <image(encoded)> <watermark>')
print (' image + image(encoded) -> watermark')
print (' opts:')
print (' --debug, Show debug')
print (' --seed <int>, Manual setting random seed (default is 20160930)')
print (' --oldseed Use python2 random algorithm.')
print (' --alpha <float>, Manual setting alpha (default is 3.0)')
sys.exit(1)
cmd = sys.argv[1]
if cmd != 'encode' and cmd != 'decode':
print ('Wrong cmd %s' % cmd)
sys.exit(1)
if '--debug' in sys.argv:
debug = True
del sys.argv[sys.argv.index('--debug')]
if '--seed' in sys.argv:
p = sys.argv.index('--seed')
if len(sys.argv) <= p+1:
print ('Missing <int> for --seed')
sys.exit(1)
seed = int(sys.argv[p+1])
del sys.argv[p+1]
del sys.argv