type
Post
status
Published
date
Nov 27, 2025 20:00
slug
summary
tags
CTF
推荐
category
CTF-WP
category (1)
icon
password
comment

阿基里斯追乌龟

打开环境
notion image
点击追赶后抓包
notion image
对data解码,得到
notion image
直接将乌龟的距离清0构造data
notion image
进行发包
notion image
将返回数据解码得到flag
notion image

Vibe SEO

根据题目描述存在站点地图,去访问/sitemap.xml路由,得到如下结果
notion image
得到新的路由/aa__^^.php去访问得到如下报错
notion image
根据报错提示猜测是文件读取,参数是filename,先使用get传参读取自身文件(主要是为了看具体文件源码),然后查看源码得到
notion image
得知filename长度不能超过11,但是flag所在的文件文件名很长,所以直接读取肯定不行
看到有被打开的文件描述符$flag,想到伪协议php://fd/[文件描述符编号],但是试过长度太长不行,找了一个替代的文件目录/dev/fd/[文件描述符编号]
其中文件描述符编号需要自己爆破,最后爆破出来是13,得到flag
notion image

Xross The Finish Line

打开一看界面就知道肯定是xss然后外带
notion image
经过测试发现过滤了
构造相应的payload
输入到留言框提交
在公网服务器上开启一个php的网站服务
notion image
点击报告给管理员,就能外带管理员的cookie,就得到flag了
notion image

Expression

由题目意思知道这题应该是jwt伪造,先随便注册一个账号然后登陆抓包看jwt
notion image
得到了jwt去在线网站解密(https://www.jwt.io/),因为说密钥没有改,所以大概率猜是secret,结果发现验证通过了
其实也可以去爆破(爆破工具:c-jwt-cracker)
notion image
notion image
试一下伪造admin看看
notion image
将伪造后的值替换原来的token出发包
notion image
看到前端也显示admin了
去查看一下网站用什么写的
notion image
猜测可能是ejs模板注入,构造payload
notion image
进行jwt伪造发包,得到flag
notion image

popself

exp
得到flag
notion image
这题涉及到双md5还是0e开头的问题,下面贴一些符合要求的字符串
$md5 md5(md5($md5)) 0e1138100474 0e779212254407018184727546255414 0e1576609003 0e783827937870189505146310298941 0e1576882155 0e063554437755195035165445789139 0e1687027651 0e824361684489256492954843919134 0e1808236718 0e935567136545220553710393252752 0e1883153115 0e215043081382353607609756824848 0e2010692162 0e514898998879174336203746127058 0e2191017163 0e990693510804099511097744934423 0e2263940937 0e468303117297464441647744757721 0e2268790262 00e73242608486551620036091555760 0e2366549572 0e691884388380428395250404229605 0e2815644399 0e662052678416572768754614486758

one last image

一句话木马,可以直接上传php但是<?php标签被过滤了,我们使用短标签构造木马
上传后得到地址
notion image
去访问木马所在的地址进行命令执行
notion image
得到了flag

Sequal No Uta

一题常规的sql注入,但是要注意这个不是mysql是SQLite,语法稍微有点不一样,思路都一样
直接上exp
爆出表和字段
notion image
去查看secret这个字段
得到flag
notion image

ez read

注册一个账户然后登陆进入读取故事界面,发现有任意文件读写
notion image
这种题目一般要先读取源码,然后进行代码审计利用漏洞获取flag,不然你flag文件的名字都不知道就很难搞,所以要rce
先去看看虚拟目录中的项目启动命令
notion image
看见启动看app.py文件所以猜测是flask,但是app.py的所在目录不知道无法读出这个文件的代码
再去看一下当前进程的虚拟目录的环境变量
notion image
得到了home目录,再去访问这个目录下的app.py文件
然后就看到了debug设置成了false
notion image
所以不能进入调试得换一个方法
然后开启了漫长的代码审计过程..........
源码
这边教一个技巧,一般代码中都会有waf,看看哪边调用了waf就去那边找漏洞..…
notion image
发现要先用session伪造user(其实直接注册也可以不伪造)然后去进行模板注入
session的key就是代码中的app_key
js原型链污染2025浙江省CTF决赛
Loading...