CTFshow DJBCTF MISC(大吉杯) WP
只做了misc的菜鸡,来写写misc部分的writeup,狸神的FM到最后也看不懂,太难了呜呜呜。
博客原文:http://www.7yue.top/djbctf/
十八般兵器
hint1:JPHS
hint2:用Notepad++打开试试?
hint3:前十种兵器对应10进制,后八种对应8进制
根据hint1,先利用JPHS将18张图片均解密一下,密码为空,每张图片解密后的数据末尾都有一段数字,这幅图是删掉了部分空格,实际需要往下拉。
根据题目的武器顺序,前十张图片的数字组合起来十进制转十六进制。后八张图片的数字组合起来八进制转十六进制,asc转码一下得到flag
flag{CTFshow_10_bA_Ban_b1ng_Q1}
请问大吉杯的签到是在这里签吗
开局一张二维码,一直分离能分离出四张套娃的二维码,第二章二维码实际已经提示了到这里就要停下来了。(八神真好,处处都有提示)
第二张二维码用stegsolve查看最低通道,均能得到新的一张二维码图片,但没法扫码。
第二张图片原图:
最低位通道图:
两张图异或一下,即可发现酷似猪圈密码的字符:
解密后即可得到flag:
flag{dajiadoaidjb}
牛年大吉
hint1:不要格式化哟,看看引导扇区是不是丢东西了
hint2:压缩包密码在图片文件头里
下载附件得到一个vhd文件,用winhex装载
能看到有一个7z和一个png图片。7z需要密钥,密钥即为png文件头89504E47,猜,就硬猜。一开始hint2放错位置了,导致一直做不出来,后来有了hint2之后并不算难题。
解开7z压缩包即可得到flag:
flag{CTFshow_The_Year_of_the_Ox}
童话镇
hint1:离别
hint2:思念
hint3:爱
hint4:印象
开局一个mp3文件+四个感觉没用任何作用的提示。
把mp3文件binwalk一下得到一个加密的zip文件,爆破密码得 67373
得到两个txt文件,看起来很像是机器学习之类的。
学习样本,答案只有两种,0或1:
需要解密的密文:
利用knn算法来解,脚本如下:
import numpy as np
from sklearn.neighbors import KNeighborsClassifier
from ast import literal_eval
from PIL import Image
x_train = []
y_train = []
x_test = []
f1 = open("t.txt","r")
f2 = open("flag.txt","r")
while 1:s = f1.readline()if not s:breaks = s.strip('\n')p1 = literal_eval(s.split("\t")[1])p2 = literal_eval(s.split("\t")[0])x_train.append(p1)x_test.append(p2)#print(x_train)#print(x_test)
while 1:s = f2.readline()if not s:breaks = s.strip('\n')s = literal_eval(s)y_train.append(s)#print(y_train)
x_train = np.array(x_train)
y_train = np.array(y_train)
x_test = np.array(x_test)clf = KNeighborsClassifier(n_neighbors = 1)
clf.fit(x_train, x_test)
y_test = clf.predict(y_train)f3 = open("3.txt","w")
for i in y_test:f3.write(str(y_test[i]))
f3.close()
得到答案:
一共有78289个数据,78289正好等于79*991,且都是01字符,大概率就是一张图片了,写个脚本画图:
from PIL import Image
fp = open("3.txt","r").read()
pic = Image.new("L", (991, 79))
i = 0
for y in range(79):for x in range(991):if fp[i] == '0':pic.putpixel([x,y], 255)else:pic.putpixel([x,y], 0)i += 1
pic.show()
跑一下即可得到flag
色图生成器
hint1:颜色很重要,但github更重要
hint2:第一步图片很重要,txt不重要
hint3:看一看马赛克部分的RGB值,有没有想到什么呢
下载附件得到一张图片,和一个txt文件,图片中间有一大块颜色各异的色块,根据hint3也能想到提取像素。每个色块的像素都是RGB中随机两个通道有同样的数据,另外一个为0
脚本如下:
from PIL import Image
pic = Image.open('setu.png').convert('RGB')fp = open("1.txt","w")
for y in range(0,17):for x in range(0,181):piv = pic.getpixel((50+5*x, 80+20*y))if piv[0] != 0:fp.write(str(piv[0]))fp.write(" ")else:fp.write(str(piv[1]))fp.write(" ")
fp.close()
得到一串十进制字符串,转码即可得到一个rar文件。
rar文件里有一张名为Cloakify.png的图片,备注里又有一串颜色数据。
将图片binwalk一下,得到一个加密的压缩包文件。
根据hint1,github搜索Cloakify,得到解密工具,字典为题目附件的colors.txt,密文为压缩包注释。
解密得到压缩包密钥:D3arD4La0P1e45eD4iDa1Wo
解开得到一个pyc文件,在线反编译一下,得到:
from PIL import Image
import re, hashlib, random
flag = 'flag{jiu_bu_gao_su_ni}'
if re.fullmatch('^flag{[A-Z][0-9a-zA-Z]{4}}$', flag):m = hashlib.md5()m.update(flag.encode('ascii'))m = m.hexdigest()col = []for i in range(0, 24, 2):tmp = int(m[i:i + 2], 16)tmp += random.randint(-5, 5)col += [tmp]img = Image.new('RGB', (1024, 512))for i in range(4):timg = Image.new('RGB', (256, 512), tuple(col[i * 3:i * 3 + 3]))img.paste(timg, (i * 256, 0))img.save('C:/Users/Administrator/Desktop/setu.png')
这是对最初题目附件的setu.png的背景进行加密。
直接写个解密脚本一把梭:
import re
import hashlib
list = ['139', '102', '162', '24', '85', '57', '160', '37', '239', '200', '154', '30']
for a in range(48,123):for b in range(48,123):for c in range(48,123):for d in range(48,123):flag = 'flag{D' + chr(a) + chr(b) + chr(c) + chr(d) + '}'if re.fullmatch('^flag{[A-Z][0-9a-zA-Z]{4}}$', flag):m = hashlib.md5()m.update(flag.encode('ascii'))m = m.hexdigest()j = 0for i in range(0,24,2):p = int(list[j])if int(m[i:i+2], 16) - p > -5 and int(m[i:i+2], 16) - p < 5:j = j + 1continueelif i == 22:print(flag)breakelse:break
很快就能跑出来,跑出来即可得到flag:
flag{D4n1U}
拼图v2.0
手动拼图,一开始拼了一个小时只拼了90%,自动退出了很难受。第二次拼了50分钟得到flag:
碑寺六十四卦
hint1:为什么碑文上空白的地方,拓片上却是黑黑一片呢?
hint2:如果说每个方块对应一个字符,可是替换表在哪里?
下载附件得到一张图,注:以下图都不是原图,原图请到官网自取
反色后得到:
反色后用stegsolve解一下最低位通道得到另一张图片:
对照原图的数据,一个一个进行对比,得到每个图案的数据为:
5,37,26,32,8,44,11,30,53,27,39,34,51,3,52,46,18,33,46,40,7,56,40
根据题目的64卦,一共有64个数据,联想到base64也是有64个数据,解密一下即可得到flag,脚本如下:
a = [5,37,26,32,8,44,11,30,53,27,39,34,51,3,52,46,18,33,46,40,7,56,40]
b = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
flag = ''
for i in a:flag += b[i]
print(flag)
解得:
FlagIsLe1bnizD0uShuoH4o
最终flag为:
flag{Le1bnizD0uShuoH4o}
AA86
hint1:请仔细阅读题目描述(5毛一条,去掉括号)
根据提示可得,关键是16位操作系统。其实只要安装一个16位操作系统这题直接就能跑出来,难点变成了如何安装16位操作系统。
谷歌 jjencode AA86 可得:
.com后缀名文件可直接在16位操作系统执行,将txt里的数据保存,后缀名改为.com,传入MS-DOS虚拟机内,直接运行得到flag:
64位系统只能运行64和32位的程序,理论上32位系统也能运行32位和16位的程序,一开始我试着装32位xp系统,但是装的有点慢还没试过。不知道有没有人是在32位系统下跑出来的flag,之后就看大佬们自己发挥了。
最终flag为:
flag{https://utf-8.jp/public/sas/index.html}
CTFshow DJBCTF MISC(大吉杯) WP相关推荐
- CTFshow——DJBCTF MISC(2021年大吉杯)
只会做MISC的小菜鸡来写一下WP,分享一下解题过程(都是大师傅萌带dd见的世面) 狸题就狸谱,看都没看,后来发现看了也看不懂 十八般兵器 感谢@i_kei师傅供题 刀.枪.剑.戟.斧.钺.钩.叉.鞭 ...
- ctfshow—2023愚人杯wp
ctfshow-2023愚人杯wp 热身 热身 100 愚人杯比赛秉承欢乐.有爱.进取的精神 在群里师傅热心帮助下,已经开始第三届比赛啦! 欢迎各位师傅参加,希望大家玩的开心,比赛题目可以自由讨论.但 ...
- 2020湖湘杯 wp
2020湖湘杯 wp web 题目名字不重要反正题挺简单的 NewWebsite misc misc2(题目名忘了.....) 总结 昨天打了下湖湘杯,签到选手上线. web 题目名字不重要反正题挺简 ...
- 2021 绿城杯 wp
2021 绿城杯 wp Web ezcms ezphp Misc [warmup]⾳频隐写 Re easyre Crypto RSA1 [warmup]加密算法 Pwn null_pwn uaf Gr ...
- 【pwn】2021 鹤壁杯 wp
[pwn]2021 鹤壁杯 wp 前言 这场比较简单,但是也看到了自己急于求成的下场,基础知识非常不牢固,很多调试手段都太拉了,逆向能力也是非常差,还是得跟着师傅们继续学啊! 1.ret2libc1 ...
- 2021 [线下]陇剑杯 wp
2021 [线下]陇剑杯 wp 前言 1.1 1.2 1.3 1.4 1.5 3.1 3.3 4.1 4.2 5.1 5.2 Tip 前言 wp由EDI yanshu师傅投稿 ,感谢yanshu师傅. ...
- ctfshow【菜狗杯】misc
文章目录 web web签到 web2 c0me_t0_s1gn 我的眼里只有$ 抽老婆 一言既出 驷马难追 TapTapTap Webshell 化零为整 无一幸免 无一幸免_FIXED 传说之下( ...
- CTFshow菜鸡杯WP
WEB WEB1 签到 <?php if(isset($_GET['url'])){switch (strtolower(substr($_GET['url'], 0,4))) {case 'f ...
- 2021深育杯MISC超详细WP
login 示例-副本.txt是伪加密,解出后明文攻击 解密password.zip发现是六字符CRC32 得到密码 welc0me_sangforctf 解密.passwd.swp 家人们以后恢复s ...
最新文章
- studio2008 无法显示该网页
- 正则表达式中re.S是什么意思?有什么作用?
- python PDF 转 图片
- 高中生获得全国科创大赛一等奖的项目,竟与硕士毕业论文高度雷同?!
- 如何从 Python 列表中删除重复项
- vmware workstation 8上面装vsphere5
- 【MFC系列-第23天】CMemoryDC的封装过程
- python 示例_Python使用示例设置add()方法
- Xshell登录Linux服务器 提示WARNING! The remote SSH server rejected X11 forwarding request 及 提示符显示-bash-4.2#
- UG基本命令ug快捷键命令大全ug基本命令教程完整版
- 20200411使用Potplayer对视频进行逐帧截图
- 一根竹子,4天的生长过程
- 关于硕士毕业直接工作还是继续读博的一些思考
- java宠物之王-龙灵传说_宠物之王龙灵传说闯关秘籍
- 赚钱套路分享:降维打击,报团取暖的玩法
- android组件圆角,Android实现圆角控件
- 对于搞钱我们是认真的
- js中的reduce函数详细解释
- 2022年了,你还没搞清楚箭头函数与普通函数的区别嘛?
- 百度快照排名推广如何优化?