攻防世界MISC新手练习区 部分WriteUp

攻防世界MISC新手练习区 部分WriteUp

ext3

题目提示是Linux光盘,附件下载下来

首先了解一下ext3

ext3是第三代扩展文件系统(英语:Third extended filesystem,缩写为ext3),是一个日志文件系统,常用于Linux操作系统。他是很多Linux发行版的默认文件系统。

在Linux上加载

SimpleRAR

下载附件后,解压并打开压缩包,发现只有一个txt文件

打开发现并没有flag,因为题目中提示有双层图,猜测压缩包中应该还有一个图片文件,用WinHex打开压缩包,发现还有一个图片,把图片开头部分的7A改成74(rar对png的文件类型编码是74,就在flag.txt文件结束,这里是7A,所以改过来就行了)

改完之后,保存解压,图片就出来了,但是图片打开之后是空白的

还记得题目的提示嘛,我们用StegSolve打开图片发现只有一半二维码

再把secret.webp丢到WinHex里发现文件头为Gif图,将图片后缀改为gif

再把GIF分离,发现有2帧

分别用StegSolve打开,得到两个二维码,补充完整二维码定位区,拼在一起得到flag

base64stego

下载附件后是一个压缩包,解压缩时提示需要密码,这时候就要思考了,破解密码?在题目中一般都会提示,不然只能盲目爆破。然后想到伪加密,先用winRAR修复下,果然修复后的能直接解压(据说用360压缩可以直接脱出里面的文本

解压后得到一个文本,里面是大量base64加密(根据题目名字也可以知道)

这是base64隐写,下面是别人的解题代码

b="""这里放base64加密的内容"""e = b.splitlines()binstr = ""base64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"for i in e:    if i.find("==") > 0:        temp = bin((base64.find(i[-3]) & 15))[2:]  # 取倒数第3个字符,在base64找到对应的索引数(就是编码数),取低4位,再转换为二进制字符        binstr = binstr + "0" * (4 - len(temp)) + temp  # 二进制字符补高位0后,连接字符到binstr    elif i.find("=") > 0:        temp = bin((base64.find(i[-2]) & 3))[2:]  # 取倒数第2个字符,在base64找到对应的索引数(就是编码数),取低2位,再转换为二进制字符        binstr = binstr + "0" * (2 - len(temp)) + temp  # 二进制字符补高位0后,连接字符到binstrstr = ""for i in range(0, len(binstr), 8):    str = str + chr(int(binstr[i:i + 8], 2))  # 从左到右,每取8位转换为ascii字符,连接字符到字符串print(str)  # 结果是 Base_sixty_four_point_five转换为

运行后得到flag

功夫再高也怕菜刀

下载后的附件是一个以pcapng结尾的文件

pcap是流量包的后缀,再加上png,可能这是两个文件,一张图片和一个流量包

然后我们用foremost(foremost是一个基于文件头和尾部信息以及文件的内建数据结构恢复文件的命令工具)分离文件果真得到一个压缩包

很明显解压密码需要我们在pcapng文件中找

使用wireshark打开,在搜索框里直接输入flag.txt

一直查找,直到1150个项目时,发现flag.txt上面有一个JPG图片,立刻追踪TCP流

我们发现FFD8是JPG图片的16进制头,于是将这堆16进制码复制粘贴至winhex中,以ASCII Hex形式粘贴,最后以.webp格式保存该文件

图片上是解压密码,输入后得到flag

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部