本文写自28号,比赛已经过去一天了,目前题目1~10的flag获取地点也已经全部被找到。在比赛中发现一些零零散散的问题,在此做总结。
Flag 1~5
这个没什么好说的,基础知识很容易能找到
Flag 6
Referer字段盲注。这个一开始就想到了,但是用sqlmap扫描的时候没有发现问题。后续经过大佬提醒提高了延迟再次扫描才发现。后续经过分析认为是sqlmap请求过快引起WAF拒绝访问导致失败o(╥﹏╥)o
Flag 7
根据首页 /api/images?file=banner.png
猜测存在任意文件读取漏洞,但使用 /api/images?file=./banner.png
返回 404
!这十分令人迷惑…后续经过大佬提醒直接访问 /api/images?file=../../../flag7.txt
获取Flag。
Flag 8
端口扫描,只能扫到 6379 和 80 端口开放,但是因为各种各样的原因再次扫描会出现假开放端口,致使浪费了大量时间。
Flag 9
根据大佬提醒,在 /api/images?file=../../../secret.txt
存在密文如下
SkRGWDZRZnJxelJQU21YME42MU04OWlwV1l0SlYvcEJRVEJPWWFYUXVHOGZBcnJ1bjNXS3hXRlpHd05uMjFjRw==
Base64解密之后依旧是一串密文,如下:
JDFX6QfrqzRPSmX0N61M89ipWYtJV/pBQTBOYaXQuG8fArrun3WKxWFZGwNn21cG
猜测是DES
或Rabbit
加密,但考虑到前面几道题的尿性,DES
可能性更高,目前还在猜测秘钥。待之后更新再写吧。
这一题跟第七题一样,没解出第七题这题就找不出来。
Flag 10
这题综合考量信息收集、加密、代码审计等能力。使用dirb
很容易扫描到存在文件test.php
,返回jsfuck
,放控制台解析之后提示前往github,并给出关键词。搜索之后就能找到end.php
相似源码,根据源码给end.php
提供参数?id[]=1&url=/flag.txt
即可绕过。后续发现只要覆盖关键词flag.txt
的字符串即可通过。
这题能想到flag.txt
是由于想不到方法直接访问/flag.txt
居然还真有,于是就试了试…
另外根据伪源码发现file_get_contents()
存在潜在漏洞,但找不到利用途径就放弃了,现在想想我还真机智orz。
最后
总的来说此次竞赛其实题目都不难,都是考量网络空间安全基础知识,但由于各种各样的因素致使大家感觉题目很难做不出来,如:WAF存在使得sqlmap时灵时不灵,任意文件访问漏洞猜测必须提供关键词才能进入也让人迷惑,最后第十题也是判断是否有关键词才能返回flag。同时还发现有人用所谓的分布式flag爆破器(?)给网络添堵,搞得网站时好时不好的。
总的来说还是缺少一个完整的知识体系和渗透测试框架,没能完整的考虑到所有可能潜在漏洞。这提醒我在平常练习中需要考虑各种各样的因素,注重黑盒测试。