CTF系列文章

第一篇 CTF之密码学题目-classical && coding
第二篇 CTF之MISC题目-西游记
第三篇 CTF之MISC题目-简单流量


文章目录

  • CTF系列文章
  • 前言
  • 一、题目是什么?
  • 二、解题步骤
    • 1.下载文件、解压
    • 2.使用wireshark
    • 3.解压flag.zip
  • 总结

前言

这是一道关于网络数据包分析的题目,主要是wireshark工具的使用和发现代码、理解代码。同时要了解Linux 的 Shell脚本。


一、题目是什么?

题目

二、解题步骤

1.下载文件、解压

解压文件

可以发现是一个流量包数据(.pcapng后缀,可以用wireshark打开),我们用wireshark工具打开。

2.使用wireshark

打开wireshark
题目中说“c0oola的服务器好像被黑客传上了后门代码,并窃取了机密文件。”,所以只有通过http协议可以上传表单,我们选择菜单文件>导出对象>HTTP...,得到:
导出对象
主要看IP地址、内容类型、流量大小、文件名。文件名中有关shell的,都是可疑报文。我们在通过搜索过滤出Http协议的报文,得到:
http过滤
在众多的http报文中,我们逐一的查看,发现最后一条报文里面含有flag信息,如下:
发现flag
我们发现flag是zip包,那么需要了解zip包的文件格式,zip文件的文件头的16进制是:ZIP Archive (zip),文件头:504B0304。常见的文件头的16进制,可以参考这里

我们接着分析Http报文,在倒数第三条里面,发现了文件头50db0304
发现zip文件头选中那条记录,右键>复制>值,粘贴到文本编辑器中,比如notepad++,如下:
notepad++
504b0304开头的那段文本,复制,打开010 Editor,选择Edit>Paster From>Paster From Hex Text,结果如下:
粘贴16进制文本
另存为flag.zip,保存到桌面,然后解压。

3.解压flag.zip

解压

解压发现需要输入密码,但是我们不知道密码,只能从Http报文里分析,从倒数第二条报文中发现了注入的脚本:
注入的脚步
选择那条记录,右键>复制>值,可以粘贴到文本编辑器中,比如notepad++中如下:
nodepad++脚本
从里面的PHP脚本:

$p=base64_decode(substr($_POST["ya7bc128230026"],2));$s=base64_decode(substr($_POST["x77118dbf56718"],2));

可以知道对于表单项,需要截掉前面两个字符,再进行base64解密,我们可以分别得到表单项“ya7bc128230026”和“x77118dbf56718”的内容:
base64解密
从解码的内容中,我们发现了密码unzip -P P@sSw03d,即P@sSw03d为flag.zip文件的解压密码,解压文件后得到flag.txt。打开如下:
得到flag

最终我们得到了flag:e55f3b4f-b283-45ac-a477-ff1c70226f56


总结

以上就是第三道CTF题目的解题过程和思路,可以发现在解决问题的时候,步步为营,首先要会使用wireshark分析数据包,其次找到关键报文后,要能够发现其中的线索(zip文件),再次要对常见的文件头的16进制要了解,而且还有阅读代码,理解代码的能力,找到脚本中关键点(删除头两个字符之后的base64解密),对关键报文解密获得解压密码。最终可以成功拿到Flag。

点赞(1) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部