ctfshow F5杯 部分WP(writeup) 超详细

您所在的位置:网站首页 黑呀呀的呀怎么写 ctfshow F5杯 部分WP(writeup) 超详细

ctfshow F5杯 部分WP(writeup) 超详细

2024-07-01 10:29| 来源: 网络整理| 查看: 265

本文共4370字,147段落,全文看完预计用时10分钟 这次F5杯的misc难度感觉比大吉杯难了许多,出题人的脑洞太大了 在这里感谢各位大师傅群里的随缘hint(水群大胜利) 写的非常详细,可以跟着实际操作,所以最后不会贴上静态flag 在这里插入图片描述在这里插入图片描述在这里插入图片描述

web       eazy-unserialize &eazy-unserialize-revenge misc       大小二维码       填字游戏       牛年大吉3.0       两行代码一纸情书       F5也会LSB       F5还会学中文       GoodNight

WEB:

eazy-unserialize &eazy-unserialize-revenge 一个payload打通两道,所以就放在一起

前半部分估计是某个登录页面的执行代码,为干扰项,重点在后半部分

在这里插入图片描述 存在文件包含漏洞,使用php为协议读取flag.php:

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”;}

得到flag 在这里插入图片描述MISC

大小二维码

八神师傅的创意题,脑洞也还是大 首先得到一张超大的二维码,用手机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)

得到flag 在这里插入图片描述

填字游戏 U1S1,这次填字游戏非常良心,特别容易。 首先用QQ的识别功能将英文全部提取下来

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{}提交

牛年大吉3.0

是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 在这里插入图片描述

两行代码一纸情书 Y4的超良心

下载dll附件,使用notepad++打开,直接搜ctf,发现一长串类似编码,复制下来进行base64解码,发现无乱码,一直向下解,得到flag 在这里插入图片描述

F5也会LSB 这道题也很良心

压缩包显示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还会学中文 也是一道凉心题

下载附件解压,得到 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 在这里插入图片描述

GoodNight

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

在这里插入图片描述 题目说flag的内容需要md5一下,将里面md5后提交即可

本文完



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3