0x00 前言
六一前一天跟着队友参加了某个萌新线下赛,上午是解题模式,下午是攻防,这也是第一次去线下见识到了基本的攻防模式是个什么意思。最终的结果不是很重要,主要是上午的解题模式分值占比比较高,题也不难,就是好久不做手生了,三个小时的比赛一半多的时间花在了一个300分的misc一半二维码修复上了,最后还没解出来,:-(,话不多说,记录下这次比赛的经历。还是长了不少见识的。(第一次参加攻防模式,写出来的东西CTF的老师傅们不要笑话多多包含指正哈~)
0x01 比赛规则
这次的线下赛呢大题的规则如下:
- 每个队队伍分配一个自己守护的虚拟服务器,上边跑着相关web服务以及mysql等等,可以ssh和sftp连接上去。
- 每隔5分钟check一轮,查看每个队伍的服务是不是正常,check宕机的话会被扣100分(每个队伍初始分数2w),注意到这里有时候过度的防御也是会被checkdown的。
0x02 比赛规则如何得分?
- 每个队伍需要主机发现,找到别的队伍的ip地址,根据相应的web应用上的漏洞或者服务器上的漏洞去getshell,然后拿到shell后向flag服务器curl一条获取flag的请求,flag服务器会把flag返回过来。每轮check都会把flag换一下,但是可以最后一起提交,也就是说比如在一个服务器留了后门后如果没有被修复,可以在下一轮中继续向flag服务器发出请求。被拿flag的队伍扣10分,一个flag5分。
0x03 比赛规则如何防御?
- 这次的比赛由于参赛队伍大多都是萌新队,因此可利用的点不多,主要就是默认的wp密码在8089端口可以登入后台,以及一个文件上传漏洞,比赛之前查的那些waf脚本也没用上,简单的改了下upload目录的权限,以及wp的密码,基本就没有人能攻进来了(我们队是这么干的)。然后全场做看神仙打架,一份也没有丢。可能是主办方的check规则不够严谨233333。
- 文件上传那里只允许上传zip、png、jpg、和.htaccess文件,当时忘了可以上传.htaccess文件将png格式的文件解析为php文件执行,所以也没有拿到什么分。
- 开始比赛后,就是把源码和数据库备份了下,修改了默认的mysql密码以及扫了几遍源码,队友上了waf和log,然后看了一下午log看谁打自己,(☄⊙ω⊙)☄
总结
通过这次比赛也是意识到了自己的不足,比赛前搜集的一波脚本很多也没用上,攻防模式很大程度上还是考验快速反应能力以及批量脚本能力的,希望在今后的学习中还有这样的机会多多学习~ (不知不觉已经菜了多年了0.0)
网友评论