准备学学CTF了。先从一些基础题开始,做做Bugku、实验吧一些线上平台的Misc、Web题目,边学边做,顺便水水博客,就当做学习笔记了。
前言
准备刷下Bugku上的Misc题。总结下规律(常见套路)。之后对其他平台其他题也会做做写写。
Misc基础加解题思路
这里就不瞎搬了,直接给链接吧。CTF解题技能之MISC基础。这篇文章应该讲的还是挺清楚的(反正我是看这篇开始的)。
BugKu Misc WP
基本知识可参看上面链接,接下来就开始写WP了。
0x01 这是一张简单的图片
点进题目去,发现是一张jpg图片。Misc题目中,遇到图片,首先用winhex、Ultraedit等十六进制查看器查看。看看其中有没有隐藏什么信息,一般主要在文件尾藏信息。
比如这题,用Ultraedit查看,可以看到,文件尾部有下图所示数据。很明显,是html实体编码。
于是解码得flag
0x02 隐写
点进题目进去,是一个rar文件,解压后得到一个PNG文件
按照惯例,UE查看一下十六进制,发现没有什么异常数据,于是扔到binwalk跑一下,看看有没有别的隐藏文件。
看到有两个zlib文件,想着用dd命令提取出来就行了。但是提出了解压不了。再联想到题目名字叫隐写,应该flag在图片里,图片被做了手脚。于是找了一下这题的wp,看看别人怎么做的。
得到如下结论:
- 用16进制编辑工具更改图片的高度,会只显示图片的一部分,下面的部分就被隐藏了,是个藏东西的好办法
- PNG文件结构中的IHDR数据块包含有PNG文件中存储的图像数据的基本信息。
于是用UE修改PNG的高度,生成新图片
新图片如下
0x03 telnet
看题目名字telnet,大约能估计出来应该是个流量分析题。果不其然,点进题目下载zip文件后,解压得到pcap文件。
用wireshark打开,然后找flag,自己做的时候是一个个报文找过去的,有点难受,所以特此附上流量分析wireshark常用操作
快速找到flag方法
右键wireshark,追踪TCP流
0x04 眼见非实(ISCCCTF)
点进题目后,下载得到一个名字叫zip没有后缀的文件。
- 此时可用UE等查看其文件头确认其文件类型,手动添加后缀。附上常见文件文件头
- 或者扔进linux里面(linux里面文件没有所谓后缀名),用file命令查看。
得到结果为,这是一个zip文件。在windows下面添加后缀,解压出来得到一个打不开的docx文件。
一个打不开的docx文件,猜想可能不是docx文件。于是按上面流程再走一遍,发现这个docx文件也是个zip文件,再次解压得到一个文件夹,里面包含一些xml文件。结构如下图
然后查找flag。面对这么多文件查找,这个时候就要通过linux grep命令了。
0x05 啊哒
点进题目,下载一个zip文件。解压得到一张图片。
对于图片的处理,上面几题已经说得差不多了,走流程下来后,将图片扔进binwalk里,发现里面包含一个zip文件。
用dd命令提取隐藏的zip包出来并解压,可以看到这个提取出来的zip包里面包含flag.txt,但解密需要密码。
压缩包解密需要密码应该是一种Misc常见题型。于是上网搜索一圈,发现好像都太复杂,跟这个题目不合(后面做多了应该会遇到吧)。实在没办法,于是上网搜别人的wp,看怎么解决。
原来密码藏在的开始的ada.jpg图片的详细信息中,将这串字符当密码输一遍发现不对。于是进行变形,将这串字符进行解密。
最后将这串字符转成ascii码,得到密码:sdnisc_2018
输入密码解压后得到flag
0x06 又一张图片,还单纯吗
点进题目,下载一张jpg图片。用binwalk跑一下,得到下面信息:
可以看到,里面包含了多个图片文件,此时就用到foremost工具了
语法:foremost <filename> [-o <outputdir>]
提取成功后,得到flag图片
总结
先写到这吧,后面陆续再更…