2018 西普杯铁三赛测评题解题报告

点击各题目编号或名称跳转到题目界面!

1. 权限

题目描述:你是管理员吗?

打开是一个登录页面,应该是要以管理员身份登录。网页标题是 password.txt,于是打开 http://ctf4.shiyanbar.com/web/root/password.txt,发现一堆密码。回到登录页,用 BurpSuite 暴力破解密码,字典用刚才发现的一堆密码,得到密码是 Nsf0cuS。但是这条请求的响应网页里说“这里没有flag哦!” 观察响应头,有一条 Set-Cookie: newpage=MjkwYmNhNzBjN2RhZTkzZGI2NjQ0ZmEwMGI5ZDgzYjkucGhw,后面一串 base64 解码得 290bca70c7dae93db6644fa00b9d83b9.php。打开 http://ctf4.shiyanbar.com/web/root/290bca70c7dae93db6644fa00b9d83b9.php,是一个留言板页面,页面提示用管理员身份留言。先随便留言抓个包,发现请求头里有 Cookie: IsLogin=0userlevel=guest。改成Cookie: IsLogin=1userlevel=root,POST 过去,响应头里有Set-Cookie: Flag=flag%7BC0ngratulati0n%7D,urlencode 解码(其实就是 ASCII)得

flag{C0ngratulati0n}

这题目很坑的地方在于,密码框的属性中定义了maxlength="5",刚开始我以为密码是5位,所以只挑了5位的密码跑结果全部不对。后来才明白要这个长度限制只是个坑!

2. iOS

把 User-Agent 改成 iPhoneOS 99 就行了,最好用真实的 Safari UA 改。

flag{LMvBi8w9$m1TrgK4}

就说一句,这题我没成功,Postman修改User-Agent然后POST过去总是收不到回应。
23 Mar. 更新:使用Chrome开发者工具修改UA发送GET请求给给出的地址,然后查看收到的回应头源码(见下图),就可以发现flag,在页面源码中也可以看到flag is not here的备注。我怀疑应该是不正常格式的Headers被Postman给认为不合理所以丢弃了吧(纯猜测。)

2018 西普杯铁三赛测评题解题报告

3. 照猫画虎

这题换过,之前是圆圈。页面说第 1234567890 位访客有惊喜,抓包,发现响应头有 Set-Cookie: Visitor=MjY5OTowNDE1NzQwZWFhNGQ5ZGVjYmM4ZGEwMDFkM2ZkODA1Zg%3D%3D,后面一串 urlencode 解码 + base64 解码得 2699:0415740eaa4d9decbc8da001d3fd805f,冒号后面的一串 MD5 扔到 cmd5.com 还原得 2699。就是说后面 MD5 值是对冒号前面数字的校验值。于是构造 1234567890:e807f1fcf82d132f9bb018ca6738a19f,用 base64 + urlencode 编码后写到请求头的 Cookie 里,得到 flag

flag{T4mmL9GhpaKWunPE}

这题很简单,没啥可说的。

4. 问题就在这

题目描述:找答案 GPG key: GhairfAvvewvukDetolicDer-OcNayd#

显然是 GPG 加密,打开 Windows 10 WSL bash,用 gpg 命令解密,得到压缩包,解压。解压后是一个数据包 john-in-the-middle.pcap(这名字… 中间人?),用 Wireshark 打开,导出 HTTP 对象。在导出的文件里找到 logo.png,用 Stegsolve 就可以找到隐写的 flag

flag{J0hn_th3_Sn1ff3r}

我能说我卡在了GPG的解密上了吗,macOS用homebrew安装的GPG首先是德语版,幸亏我会一点德语(全靠谷歌翻译),其次我的GPG命令不能用-o得到解密文件,提示没有这个命令,就很气,我明天去Windows上用GPG4Win跑跑试试。

5. 你最美

下载后拖进十六进制编辑器,发现一大段 base64 ,解码导出成文件,是个 PNG 图片。打开图片,扫描二维码,得到 flag

flag{you are beautiful}

这题最坑的地方就是我们会被常规思维坑,一看到exe就想到逆向。实际上应该用文本编辑器打开,然后可以看到data:image/png;base64,,把后面的内容直接复制到base64decode.org解码就可以得到一个png文件,扫描二维码即可得到答案。

6. shellcode

一段十六进制数字,于是先用 Python 写了段脚本把十六进制当作 ASCII 字符显示出来。中间有 echo ZmxhZ3tTSEVsbGNvZGVfSVNfc29fQ29vbH0K|base64 -d 引人注目,好像是 Linux 命令,直接用 bash 运行就得到 base64 解码的结果

flag{SHEllcode_IS_so_Cool}

这题虽然分高,但是不难,关键是不看参考可能想不到这么干。不过其实用不着用Python,直接用文本编辑器将\x全部调换掉就可以了。base64 -d命令就是解码,在 Windows 环境下其实直接扔掉 base64decode.org 网站上解码也OK。

来自:2018 西普杯铁三赛测评题解题报告(writeup) - Goulash
原地址:https://hx1997.github.io/2018/02/19/t3sec-warm-up-writeup/

分享