“第五空间”网络安全大赛
一更 2019.8.23
二更 2019.9.1
一、前言
本次比赛没有腥风血雨,没有酣畅淋漓,从早到晚,只做出来一道题,还是签到题,还是在将近中午的时候看了主办方发在平台上极不显眼的公告。。。。。。
(中年大叔自闭中)
二、题解
还是具体讲一下部分题的解法吧,本人水平不胜菜鸡,实感惭愧
1.空性
查看源码,发现用户名和密码是本地JS校验,查看JS源码得知用户名是Youguess,密码随意
还可以直接跳转到http://111.33.164.4:10003/151912db206ee052.php
之后就没有思路了,,,,
(更新)
存在文件泄露http://111.33.164.4:10003/.151912db206ee052.php.swp
1 | 4 error_reporting(0); |
存在变量覆盖,之后显示一个新的地址
2d019a311aaa30427.php?refer=df53ca268240ca76670c8566ee54568a&t=20190828&dtype=computer&file=3792689baaabc7eb&hash256=9c062d7697674fb92d0a03c2bf3b6ad6
上传zip,然后利用zip伪协议包含getshell。
1 | POST /2d019a311aaa30427.php?refer=df53ca268240ca76670c8566ee54568a&t=20190828&dtype=com |
2.空相
题目提示有个参数叫id,遂尝试/?id=1, /?id=2, /?id=1 and 2
(这是id=1 and 2)
(这是id=2)
告诉了我们一个新的文件 ./25d99be830ad95b02f6f82235c8edcf7.php,访问得到一串乱码
看来和token有关,公告说token是登录时下发的,那就截取登录响应包获得token(官方告诉在浏览器里找,不过我没找到)
获取token后输入……/25d99be830ad95b02f6f82235c8edcf7.php/?token=……就能得到flag
3.五叶
开局一个login界面,尝试普通的sql注入,发现= ‘ and or等均被过滤,遂卡住,,,学长提示:
user=admin&password=1’||IF(username regexp’^admin$’,1,0)||sleep(0.5))#–+a&login=Login
成功登录
继续访问该php,发现还是需要token,在url后添加/?token=xxxx后可得flag
该题重点难点在于如何绕过比较严格的非法字符检测,具体原理有待分析
以下补充内容来自学长的wp:
4.六尘
这个网站curl能ssrf,但是没啥用,通过其他题目得知通过存在一个flagishere获取利用token取得的flag。访问http://111.33.164.4:10005/flagishere/后发现存在目录遍历,于是直接提交token获取flag。
5.八苦
http://111.33.164.4:10004/index.phps 存在代码泄露
1 | error_reporting(0); |
发现没法利用,但可以反序列化执行phpinfo。
1 | http://111.33.164.4:10004/index.php?foo=O%3A4%3A%22Test%22%3A2%3A%7Bs%3A10%3A%22%00%2A%00careful%22%3Bi%3A1%3Bs%3A8%3A%22securuty%22%3BN%3B%7D |
发现有preload配置,加载此文件http://111.33.164.4:10004/this_is_a_preload.php
1 |
|
然后就可以通过Welcome_again进行call调用,通过eval执行代码。
1 | http://111.33.164.4:10004/index.php?foo=O%3A13%3A%22Welcome_again%22%3A2%3A%7Bs%3A7%3A% |
三、总结
这次比赛总的来说或许难度较大,但是成功暴露了我的知识的欠缺,尤其是在某个方面深入程度严重不足,pwn更是致命的弱点,全程一道pwn都没有做出来过,实在是惭愧。但我觉得如果开荒时期能有高人指点,或许能少走一些弯路,提高一些效率。
吐槽一波南开的服务器平台,点一下卡一年,装备不花一分钱