昨日有幸参加了360众测的靶场考试,可惜的是下半场只做了一半,主要还是太菜了,感觉时间不够用,不过还好最终还是通过了考试。
由于是事后复盘,无图,全靠记忆。
下面来简单说一下这次考试:
上半场就是一些基础知识,没什么好说的,几分钟就做完了,主要就是单选、多选、判断题。
要是上半场过不了,那你下半场也别想了。直接放弃吧。先打好基础。
着重讲一下下半场的东西
下半场的题,主要是以实战为主。我记得好像一共是有十题,按难易程度进行了排序,简单的在最前面,当然分数也是最少的。
里面的大多数题都是mozhe靶场的题。key一般根目录下的key.txt或者key***.php中,里面key也是以mozhe开头。
我当时是从第一题开始,也就是从简单的开始做起。
第一题考的是文件上传的知识
打开就是一个文件上传页面,通过wappalyzer进行了简单信息收集。
得到了中间件是Apache,打开burp开始抓包,下意识的去试了试多后缀.php.xx解析
服务器直接返回了上传成功,直接访问发现没解析。随后开始测试别的后缀在随手对.php2,php3测试后均未解析,随后直接丢intruder跑出phtml。第一题拿下。
第二题考的是sql注入的知识
打开是个登录页面,以为是要考爆破。结果通过repeater看了一下不是,继续测试登录的sql注入无果。随后在site map里面看到burp爬出了一个xxx.php?id=1的一个url直接丢repeater测试后发现是个注入。然后丢sqlmap一把梭,出来两个账号,mozhe1和mozhe2。sqlmap自动解出来了mozhe2的密码。拿去登录,提示账号被禁用。由于第一次跑数据没选status字段。继续选择status自动跑一下。发现mozhe1的status是未禁用的,庆幸。把mozhe1拿去md5解密。登录成功,进去就是key的页面。
第三题考的xff头伪造ip
打开页面就提示了,投票需要ggg评选第一,一瞬间就想到了是要给ggg刷票。抓包发repeater添加xff头测试,发现可以重复投票。直接丢intruder,选个number的payload开始跑ip。跑完打开页面直接就弹出了key。
第四题考的是ua头伪造
打开页面提示需要用,iPad,英文,浏览器,分辨率为1024*768的屏幕访问页面,本以为随便丢个ua就进去了。没想到的是最后没做出来。
分辨是在请求页面后,在js里面获取了分辨率set到cookie了,可以直接抓包改就行。然后去搜了个带en-us的iPad的ua替换了发送,无卵用。继续换上safari的ua,还是无卵用。找个ua字典fuzz,无卵用,把sqlmap的ua丢进去,还是无卵用。最后打算直接放弃,浪费时间
第五题考的是phpcms的getshell
打开页面就是一个phpcms的演示站,这题对于有经验的相对来说还是比较简单,
既然是演示站,那肯定很多东西都是默认的,我第一反应是找个exp打过去,后来发现自己电脑没exp,而且这考试是挂着vpn的又不能直接查,只能借助手机或者别的电脑来查询,比较麻烦。然后就打算先试试有没有弱口令,直接访问后台,发现记住账号密码的,直接点登录就进来了,然后开始phpcms的getshell,phpcms getshell的方法很多,简单收集了一下版本号之后,选择在后台 - 设置 - connect页面,然后在此处插入 \',@@eval($_POST[123]),//,闭合掉 \phpcms\caches\configs\system.php 这里的 key 参数会将一句话木马写入 system.php 文件。
然后直接访问\caches\configs\system.php,访问成功,直接上蚁剑连上,翻文件找key,直接拿下。
第六题考的是s2的rce
打开是个发弹幕的,下面有个框直接发送弹幕,弹幕里面就有提示写了k8一键,在加上页面顶上直接写了对应的cve编号,就很明显的s2 rce。
然后直接用工具一把梭就行,由于自己电脑上的工具比较老,找工具费了点时间。
第七题考的是pg数据的利用
由于小弟比较菜,到这题的时候,时间所剩不多。最后没搞出来,就结束了。再加上平时pg没碰到几个。
当时本以为可以直接用select pg_ls_dir('');加select pg_read_file('', 0, 200);两个函数就可以直接撸翻。结果却不是这样。
看来考点是udf啊,可惜的是时间到了,而且自己电脑上也还没对应的库。
而且考试需要全程挂vpn,还不能msf一把梭,直接手工。费时间。
后面的几题还没来得及看。
最后
考试前还是需要提前准备一下,不然真的很浪费时间。
总结:菜是原罪!