2020 ISG“观安杯”最高分值web题的解题思路大放送

2020-09-17 11:13:05 浏览数 (1)

背景

前天下午临时收到通知,要昨天安排打一场观安组织的ISG比赛,一次都没打过CTF的我属实有点慌...因为技术能力范围有限,开启任务后分配了web和misc给我,每题都过了一遍之后感觉都很懵...就直接先上了这个500分的大题(毕竟领导交代过,做不出来没事)。

webshell is very danger

进入访问地址,啥都没有。

查看源码后发现注释file.php?f=index.php,访问之后发现还是上面这个页面,那一看这个url就肯定试一下文件读取了。尝试一下发现还真的可以,读了/etc/passwd

看了一遍之后好像也读不了其他文件了,目前来看这个页面除了一个hacker账户有点可疑,其他的好像也没什么了。

既然感觉没啥做的了,我们尝试利用伪协议读取一下file.php源码,

代码语言:javascript复制
php://filter/read=convert.base64-encode/resource=file.php
代码语言:javascript复制

将源码base64解码后,提示我们看bash_history这个文件夹

这个时候突然想到了开头查看passwd文件的hacker用户,那么我们直接查看hacker的历史记录

根据经验猜解到在/home/hacker/.bash_history

发现webshell文件,可以看到被改名为server.php

根据bash_history提供的线索,访问server.php果然是一个后门文件

提示要密码,尝试输了几次弱口令后又懵逼了,没办法,只能再次尝试伪协议看看了

似乎又发现了线索,用在线的运行php代码的网站执行该文件

成功发现密码,终于搞定,登进server.php后,脸黑了==

说好的flag呢???????没办法,继续找呗,写了格式化的脚本,要不然眼都看瞎了,多次尝试后发现在/tmp目录下

把log文件下载下来,删选内容发现upload文件夹,尝试访问一波

发现上传点,伪协议访问发现可以上传php,直接传了冰蝎的码

访问IP/shell.php,获得flag(忘了截图了)

flag{fMsugzWqFAjSdDL8mKonk5VGJ2lTBX4t}

赛后总结

因为一上来就做的这个500分大题,题目又比较绕,还要写脚本格式化日志,一来二去花了有1个多小时在这道题上,然后后续乱七八糟的东搞一下西搞一下,不过好在做出来了,逆向的500分没人解出来,这道web的500分就占了我们小队近1/3的分了,最后竟然还整了个小组第一,属实没想到....。

总结:CTF果然是需要靠脑洞的==

0 人点赞