0x01前言

这个月一直忙着复习,然后中间关于出国的事情又给学院坑了导致泡汤,实习也错过了时间,简称诸事不顺,不过中间抽空打了个SCTF的线下赛,第一次参加AWD模式的比赛,感觉很好玩,但是发现自己很多地方也没有做好准备,这里简单的记录下。

0x02正文

这次比赛给了个web项目,首先我们用主办放给的ssh连上自己的(这里主办方不允许改密码),然后就是第一步先把源码dump下来,但是他的源码没有放在常规的www目录下,我们也是gamebox用户,没有权限去查看一些配置文件,然后find找了一下,tar将文件夹压缩,再scp拷贝下来,然后就是先上D盾进行扫描,再用seay这个源代码扫描工具来帮助扫下(虽然这次感觉没用上)。

这里我们出现了一个疏忽,就是虽然我们改了mysql的弱口令密码,但是zz得没有发现在数据库里面的flag导致我们期间一直被人打,却不知道是那一块出现了问题。

然后又出现了问题,我在还没有摸清整个web项目的基本功能情况下,开始瞎子一样进行源码审计(肉眼),虽然找到几个地方感觉有漏洞,但是没有很好地理解整个业务流程,导致进度一直很慢,最后我们web在审计的时候发现web端暴露在外可以直接对mysql的配置文件进行改写,php直接从这个data.php中导入mysql的配置,而且还没有过滤,所以我们就可以直接截断来将shell写入配置文件中,并访问配置文件来拿到在根目录下的flag,然后我们就可以写一个脚本来打全场了(五分钟一次基本能打个五六台到最后)。

这里我感觉有个反序列化漏洞在debug.php中但是看了很久,发现好像没有最终的利用链(这里我最后还是感觉有利用点知识我自己没发现),然后在下午的时候发现数据库中一直被写入用户,最后才发现flag在另一个数据库中,经过分析应该是后台登录的地方有sql注入但是已经没时间修了,这里确实是很大的失误。

然后二进制队友太强了,打全场,不死马别人根本杀不掉,太强了,让我们锁定第一名,果然是得pwn者得天下,web狗瑟瑟发抖。

0x03总结

这里我总结下我很多的不足:

  1. 对赛制的不清楚,流程不熟走了很多弯路
  2. 有的命令没用熟,导致现场查参数很慢
  3. 上流量脚本和修洞还要再学习
  4. 各种骚操作还需要学习