简介
来自Jarvis OJ平台上的三道题和一次线上比赛的杂项题。。。
1.misc
1.1 Flag (教练我想打ctf)
下载附件,是一张图片:
首先,尝试看图片属性,记事本查看搜字符串未发现有价值的信息,尝试用Stegsolve隐写工具打开,通过三色道看到了PK开头信息。
使用stegsolve工具打开,点击Analyse–》Date Extract,通过三色道查看。
可以看到是PK开头的文件,判断它是压缩包格式,点击Save Bin,保存.zip格式。
解压出来是1的文件,使用记事本查看,文件是以ELF开头,是linux的可执行文件(百度查询一下ELF文件纤细信息)
将该执行文件放在kali中,给执行权限,执行就好
总结:该题思路就的是将zip隐藏在图片中,通过查看属性没有信息时,就可以用stegsolve工具查看,或者使用binwalk查看隐藏文件。再根据解压后的文件进行下一步。
1.2 Struts2漏洞
下载压缩包后,解压得到struts2.pcapng的数据包文件。因为流量分析,首先去搜索一下flag值,看会不会发现,放在wireshark、记事本打开搜索flag
wireshark中,过滤框选择“分组字节流”,然后搜索flag。
(刚开始以为是修复流量包,都没有解出,最后,直接搜索字节流:flag出现。想得复杂了)
1.3酷炫的战队logo
下载图片,用010打开发现缺少bmp头,
补上bmp头(424DC001)
发现并没有特别的。010中发现后面存在一张png图
将后部分以png格式保存下来,发现图片打不开,用file看一下,图片的高和宽被修改了,随给一个值,发现图片有灰色
网上搜一下,png图片的crc校验脚本:
import binascii import struct misc = open(r'misc.png', 'rb').read() for w in range(1024): for h in range(1024): data = misc[12:16] + struct.pack('>I', w) + struct.pack('>I', h) +misc[24:29] crc = misc[29:33] if (binascii.crc32(data) & 0xffffffff )== struct.unpack('>I', crc)[0]: print('%d*%d' %(w, h)) # misc.png 图片的名称
跑出的高和宽是450×450
用010修改宽和高,
打开图片,成功显示flag:
2.某次线上比赛题
2.1.esay
- 密码是猪圈密码
- 根据对应的特征特点,写出密码
题目:
对照解密:flag{yyyyy_ywww@}
2.2.宝贝
-
发现是一个二维码,扫描提示“一个宝 宝解不开这东西!”,在没有其他提示。
-
用binwalk工具查看,发现图片中有一个压缩包,将压缩包分离出来。命令:
binwalk 3.png 查看图像;binwalk 3.png -e
或者 :foremost 3.png -o 输出的名字
-
解压出的压缩包,需要密码。我们使用解压工具Ziperello爆破密码。但是我没有跑出来。提示说到的“一个宝 宝解不开这东西!”,尝试baobao,宝 宝,babybaby,只有babybaby可以。
-
压缩包解压后,发现flag和readme.txt文件。打开.txt文件后,是一串base64编码,拿出去解码。发现不是。
-
用010打开flag文件,发现是png开头的。
将后缀修改后,保存后,得到二维码,扫描后得到flag:flag{ThIs_Is_QR_Code}
来源:freebuf.com 2020-11-11 14:16:48 by: ATL安全团队
请登录后发表评论
注册