CTFSHOW-大吉大利杯
被血虐,又菜又无知,只做出了无脑的拼图(真-有手就行)
以下wp参考是Mumuzi大佬的wp,仅仅是做个复现,建议看大佬的原博客:
https://blog.csdn.net/qq_42880719/article/details/113068933
十八般兵器
感谢@i_kei师傅供题
刀、枪、剑、戟、斧、钺、钩、叉、鞭、锏、锤、戈、镋、棍、槊、棒、矛、耙
hint1:JPHS
hint2:用Notepad++打开试试?
hint3:前十种兵器对应10进制,后八种对应8进制
下载得压缩包,打开需要密码,用压缩包里提示的:2021牛年大吉试试
解压得到十八般兵器
根据hint提示JPHS
其实也可以使用Stegdetect探测
http://taskcode3.cn/?page_id=82(Stegdetect和下面的Jphs05)
.\stegdetect.exe -tjopi -s 10.0 .\耙.jpg
使用Jphs05进行分离,但做题当天默认无密码就是分离不出导致没有继续做下去。。。
这里以耙为例
弹出窗口后选择OK即可,会让你保存一个文件
这里出题人是真滴阴险,不过想想这么多图片只用一个就解出怎么可能,下拉得到一串数字
再根据题目的排列和hint
刀、枪、剑、戟、斧、钺、钩、叉、鞭、锏
锤、戈、镋、棍、槊、棒、矛、耙
hint3:前十种兵器对应10进制,后八种对应8进制
得到
1361 4399 9223 1635 2581 7639 7978 5870 0963 935 30440 53720 46055 62766 10613 34635 37242 30575
分组合并
136143999223163525817639797858700963935
3044053720460556276610613346353724230575
使用脚本将其转为16进制(注:网上大多数进制转换网站都不支持这么多位数的转换,需要自己编写)
666c61677b43544673686f775f31305f
62415f42616e5f62316e675f51317d
flag{CTFshow_10_
bA_Ban_b1ng_Q1}
flag:flag{CTFshow_10_bA_Ban_b1ng_Q1}
请问大吉杯的签到是在这里签吗
flag为全部小写字母,没有空格
@感谢cheyenne师傅供题
解压得到一张二维码,扫描得到
请问DJB CTF比赛的签到处在什么地方?
然后拖入kali一顿foremost,层层套娃得到剩下三张二维码
扫码得
2:还要往前走……是不是在这个路口转弯呢?
3:好像没有岔路了,一直往前走试试看
4:咦,这是死胡同,是不是哪里走错路了
根据提示对2.png进行分析,使用stegsolve,再rgb得0通道发现了不一样的二维码
但没法扫描
最后在随机颜色的特性里发现了点不一样的东西
但毫无头绪,看了wp后得知为猪圈密码,好吧是我题做少了
进行对比,得到flag
flag:flag{dajiadoaidjb}
牛年大吉
题目下载 蓝奏云下载地址:https://wws.lanzous.com/i1Ac0jybrvc 百度云下载地址: https://pan.baidu.com/s/14EXw7U4w0Am0oP_xRXfbqQ 提取码:ns2k
感谢i_kei师傅供题
hint1:不要格式化哟,看看引导扇区是不是丢东西了
hint2:压缩包密码在图片文件头里
看完wp后得知出题人想让我们修复扇区,没事非预期解才是王道,好吧让我用预期做也不会
拖入kali分析看到一张png图片和一个压缩包
尝试分离,分离不了,使用foremost分离出了png,但压缩包不行,进行手动分离,DD命令,winhex,010editor怎么喜欢怎么来
当初做题hint2在第一题里面,后来没看。。。。。不过问题不大,反正这文件头为密码的脑洞我也没有
密码为png文件头:89504E47
好家伙,我直接好家伙
解压得到flag
flag:flag{CTFshow_The_Year_of_the_Ox}
色图生成器
> 欢迎使用色图生成器 > 已获取flag,正在为您生成色图…… > 色图生成完毕,准备传输 > 正在传输色图…… > ERROR! 检测到屏蔽系统,传输被中断 > 准备为色图打码 > 正在生成马赛克…… > 打码完成,准备添加冗余数据…… > 添加完成,正在打包…… > 打包完成,准备传输…… > 传输完成,请点击下方链接下载您的色图
感谢@cheyenne师傅供题
hint1:颜色很重要,但github更重要
hint2:第一步图片很重要,txt不重要
hint3:看一看马赛克部分的RGB值,有没有想到什么呢
做题当时就瞄了一眼,告辞
打开得到,真-色图
根据提示查看马赛克部分的RGB值,借用原博客大佬的脚本
from PIL import Image
im = Image.open('setu.png')
pix = im.load()
width = im.size[0]
height = im.size[1]
demo=open('rgb1.txt','wb+')
for y in range(height):
for x in range(width):
r, g, b = pix[x, y]
rgb=r,g,b
demo.write(str(rgb)+"\n")
注:python2
找到第一次出现马赛克的地方
根据82=R,97=a,114=r,33=!得知其中藏了一个rar文件
计算得知马赛克的范围为high=(80,420),wide=(50,995)
查看格式可知道值为(R+G+B)/2\
借用大佬脚本
from PIL import Image
im=Image.open('setu.png')
fh=open('1.txt','w')
for h in range(80,420,20):
for w in range(50,995,5):
color=im.getpixel((w,h))
t=hex((color[0]+color[1]+color[2])/2)[2:]
print t
fh.write(t)
fh.close()
但分离rar失败了,有空再写吧