御网杯2025线下半决赛本科组
主包头一次打到线下,还是比较有压力的,假期放了快半个月,憋在寝室里疯狂刷题,结果也很不错,半决赛ctf拿了第一,所有非零解的题都出了,也算是给自己的18岁和大一生涯一个交代了。同时也感谢两位队友带飞。
决赛就不是非常理想了,两个本科生都没怎么接触过相关内容,研究生学长是学pwn的,不出意外的出意外了,但lemon扛下重任,给俺们混了个一等奖(大概)
俺主要负责web和misc。
WP
这次俺负责的题目除了那个零解题以外都很简单
web
双重编码
这题很傻逼,抽象在他自己网站的参数都会显示“路径异常”,而且谁家好人会把flag.php放根目录下面啊。
所以这个题就很简单,但是还是要考虑一下抽象路径
payload:?cx=php://filter/read=convert.base64-encode/resource=/flag.php
命令执行
前几天刷过类似的题,这里忘记把题目copy下来了,所以写了个类似的内容(非原题,而且也忘了payload能不能通,过几天就改)
1 |
|
最后执行的命令好像是?cmd=var_export(scandir(‘glob:///*’)),受上一题影响,跑到根目录看了一下,无果。
那肯定就在当前目录下了(当时是猜的),所以直接读payload:?cmd=system(“tac f*”)
这题是在记不清楚了,只能这么写了
sql注入
sqlmap一把梭,脑子都不需要
misc
键盘流量
netA一把梭出来
1 | 666c61677b44477377546667793147443233366673327366463264736b4c6e677d |
用hex解一下就可以了
图片隐写
打开发现有个“这是一张图片.png”,读取文件头发现是0050开头,修复文件头为8950之后就可以看见图片内容了,图片上是解压密码:ctf@welcome,拿这个来解压压缩包,获得一个flag.jpg,查看图片块信息有字符串
1 | Y3RmX3lvdV9wYXNzZWQ= |
base64解码即可
文档(忘名字了)
把文档进行foremost提取,发现一个zip,解压后用everything来搜content:flag,可以发现document.xml里有关键字,打开发现flag
具体内容到时候搭个靶场放题目